[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. phpdreamer

    phpdreamer Member

    Joined:
    26 Jul 2009
    Messages:
    522
    Likes Received:
    86
    Reputations:
    19
    еще проще
    PHP:
    <?=$_SERVER["REMOTE_ADDR"]?>
    --------------------------------------------------------

    2)Dr.Brain, если делаешь анонимайзер, то посмотри у этого http://usfree.chat.ru/browser.txt регулярки
     
    #14721 phpdreamer, 3 Apr 2010
    Last edited: 3 Apr 2010
    1 person likes this.
  2. Dr.Brain

    Dr.Brain Banned

    Joined:
    4 Sep 2009
    Messages:
    6
    Likes Received:
    16
    Reputations:
    0
    еще проще
    <?
    ?>
     
  3. Dr.Brain

    Dr.Brain Banned

    Joined:
    4 Sep 2009
    Messages:
    6
    Likes Received:
    16
    Reputations:
    0
    Всё гениальное просто) Зачем наполнять виртуалку лишними массивами?
     
  4. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    ну если простенько:

    PHP:
    <?php
    class ip_detect {
      function 
    get_ip() {
        foreach (array(
    'HTTP_CLIENT_IP''HTTP_X_FORWARDED_FOR''HTTP_X_FORWARDED''HTTP_X_CLUSTER_CLIENT_IP''HTTP_FORWARDED_FOR''HTTP_FORWARDED''REMOTE_ADDR') as $key) {
            if (
    array_key_exists($key$_SERVER) === true) {
                foreach (
    explode(','$_SERVER[$key]) as $ip) {
                    if (
    filter_var($ipFILTER_VALIDATE_IP) !== false) {
                        echo 
    "Ваш IP: " .  $ip;
                    }
                }
            }
        }
      }
    }
    $a = new ip_detect(); 
    $a->get_ip();
    ?>
    ))
     
    1 person likes this.
  5. phpdreamer

    phpdreamer Member

    Joined:
    26 Jul 2009
    Messages:
    522
    Likes Received:
    86
    Reputations:
    19
    тогда уж прокси-детектор http://www.roscripts.com/PHP_Proxy_Detector-75.html

    только http же можно подделать
    http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/Q_21878848.html
     
  6. Vlad&slav

    Vlad&slav Member

    Joined:
    1 Jan 2009
    Messages:
    207
    Likes Received:
    41
    Reputations:
    9
    PHP:
    <?php
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        
    $snif['ip'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
        
    $snif['proxy'] = $_SERVER['REMOTE_ADDR'];
        
    $snif['usx'] = 1;
    } else {
        
    $snif['ip'] = $_SERVER['REMOTE_ADDR'];
        
    $snif['proxy'] = '';
        
    $snif['usx'] = 0;
    }

    echo 
    $snif['ip'];
    ?>
    из своего сниффера)
     
    1 person likes this.
  7. VladZombie

    VladZombie New Member

    Joined:
    18 Apr 2009
    Messages:
    47
    Likes Received:
    2
    Reputations:
    0
    Как сделать чтобы при загрузке файла на сайт записывалась имя файла к примеру в блокнот.Если я вставляю переменную файла всё ровно не получается.
    Вот собственно обработчик:

    PHP:

    <?php
       
    if($HTTP_POST_FILES["filename"]["size"] > 1024*10*1024)
       {
         echo (
    "Размер файла превышает десять мегабайт");
         exit;
       }
       if(
    copy($HTTP_POST_FILES["filename"]["tmp_name"],
         
    "images/".$HTTP_POST_FILES["filename"]["name"]));

    $filelog fopen("name.txt","w+");
    $log fopen ("name.txt","a+");
    fwrite($log,"$filename");
    fclose($log);
    ?>

     
  8. Greenkas

    Greenkas Banned

    Joined:
    24 Apr 2009
    Messages:
    7
    Likes Received:
    2
    Reputations:
    0
    Во-первых у тебя переменная непонятная появляется при записи, а во-вторых 2 раза не нужно открывать файл... :)
    Попробуй так:
    PHP:
    <?php    
    if($HTTP_POST_FILES["filename"]["size"] > 1024*10*1024)    
    {      
    echo (
    "Размер файла превышает десять мегабайт");      
    exit;    }    
    if(
    copy($HTTP_POST_FILES["filename"]["tmp_name"],      "images/".$HTTP_POST_FILES["filename"]["name"]));
    $filename="images/".$HTTP_POST_FILES["filename"]["name"];
    $log fopen ("name.txt","w+"); 
    fwrite($log,"$filename"); 
    fclose($log); 
    ?> 
    Возможно даже будет работать... :)
     
    #14728 Greenkas, 4 Apr 2010
    Last edited: 4 Apr 2010
    1 person likes this.
  9. VladZombie

    VladZombie New Member

    Joined:
    18 Apr 2009
    Messages:
    47
    Likes Received:
    2
    Reputations:
    0
    Работает
     
  10. VladZombie

    VladZombie New Member

    Joined:
    18 Apr 2009
    Messages:
    47
    Likes Received:
    2
    Reputations:
    0
    А ты случайно незнаешь ещё как сделать чтобы и разрешение картинки записывалось?
     
  11. phpdreamer

    phpdreamer Member

    Joined:
    26 Jul 2009
    Messages:
    522
    Likes Received:
    86
    Reputations:
    19
    http://php.net/manual/en/function.getimagesize.php
     
  12. [London]

    [London] New Member

    Joined:
    30 Mar 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Есть ф-ция на php ftp_exec($fp,$command)
    где $fp -идентификатор подключения(он же ресурс)
    $command команда для исполнения на ftp.

    Внимание вопрос какой командой запустить php скрипт на хостинге т.е. что должно содержаться в $command.
     
  13. h00lyshit!

    h00lyshit! [From Nobody To Root]

    Joined:
    10 Sep 2009
    Messages:
    289
    Likes Received:
    290
    Reputations:
    195
    Это у тебя надо спросить, какие команды ты хочешь выполнить. Ты можешь выполнять любые системные команды. Например "ls - la" (для unix) и "dir" (для Windows), для просмотра директорий и файлов на фтп.
     
    #14733 h00lyshit!, 4 Apr 2010
    Last edited: 4 Apr 2010
  14. DTW

    DTW Banned

    Joined:
    11 May 2008
    Messages:
    221
    Likes Received:
    52
    Reputations:
    11
    может так

    PHP:
    if (in_array($country,$europe)) {
      
    header('Location: '$redirect_url);
    }
     
  15. ZenstatioN

    ZenstatioN New Member

    Joined:
    17 Dec 2004
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Спасибо) работает
     
  16. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    806
    Reputations:
    311
    Около часа сижу, голова болит >_<
    немогу сделать постраничный вывод
    Намер у нас 20 страниц, сейчас мы на 10, мне надо чтоб было вот так
    1 | 2 | 3 | ... | 8 | 9 | [10] | 11 | 12 | ... | 18 | 19 | 20

    Сделал вот так

    PHP:
    <?php
    function pagedView($all_pages,$now_page) {
        
    $pages = array();
        
        for (
    $i=1;$i<=$all_pages;$i++){
            if(
    $i==$now_page) {
                
    $pages[] = "<b>[$i]</b>";
            }else{
                
    $pages[] = "<a href=\"?p=$i\">$i</a>";
            }
        }
        
        if((
    $now_page-5) >= 3) {
            for (
    $a=3;$a<=$now_page-5;$a++) {
                unset(
    $pages[$a]);
            }
            
    $pages[$a] = '...';
        }

        
    #Вот сюда чёто надо
        
        
    return implode(' | ',$pages);
    }
    echo 
    pagedView(20,10);
    ?>
    слева всё нереально хорошо работает, я шоке!
    pagedView(20,7) = 1 | 2 | 3 | 4 | 5 | 6 | [7] | 8 | 9 | ...........
    pagedView(20,8) = 1 | 2 | 3 | ... | 6 | 7 | [8] | 9 | 10 | .............
    Мне имено так и надо!
    Но вот справа я как не пытался сделать, ничерта не получается
    Ктонить может осилить этот мозговой взрыв?
    Вот так обрезается слева
    PHP:
        if(($now_page-5) >= 3) {
            for (
    $a=3;$a<=$now_page-5;$a++) {
                unset(
    $pages[$a]);
            }
            
    $pages[$a] = '...';
        }
    справа надо наоборот сделать, но я немогу понять что тут наоборот менять :( Как не менял - нехочет, то ест нужные цифры, то 17 | 18 | ... |20 :eek:
     
  17. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    803
    Likes Received:
    391
    Reputations:
    72
    PHP:
    <?php  
    function pagedView($all_pages,$now_page) {  
        
    $pages = array();  
          
        for (
    $i=1;$i<=$all_pages;$i++){  
            if(
    $i==$now_page) {  
                
    $pages[] = "<b>[$i]</b>";  
            }else{  
                
    $pages[] = "<a href=\"?p=$i\">$i</a>";  
            }  
        }  
          
        if((
    $now_page-5) >= 3) {  
            for (
    $a=3;$a<=$now_page-5;$a++) {  
                unset(
    $pages[$a]);  
            }  
            
    $pages[$a] = '...';  
        }  



        if((
    $now_page+5) <= $all_pages-3) {  
            for (
    $a=$all_pages-4;$a>=$now_page+3;$a--) {  
                unset(
    $pages[$a]);  
            }  
            
    $pages[$a] = '...';  
        } 
          
        return 
    implode(' | ',$pages);  
    }  
    echo 
    pagedView(30,20);  
    ?>
    подправил немного...
     
  18. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    806
    Reputations:
    311
    Подправляльщик ты наш ^_^
    pagedView(30,23) = [​IMG]
    Осталось 7 чисел справа
    pagedView(30,7) = [​IMG]
    Осталось 6 слева
    Вот мне 6 и справа надо :(
    ==========
    pagedView(30,22) = [​IMG]
    Пропущено 25 26 27 (3 числа)

    pagedView(30,8) = [​IMG]
    Пропущено 3 4 (2 числа :( )

    А мну над чоб одинаково было
     
    #14738 Ponchik, 5 Apr 2010
    Last edited: 5 Apr 2010
  19. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    803
    Likes Received:
    391
    Reputations:
    72
    PHP:
        if(($now_page+4) <= $all_pages-3) {  
            for (
    $a=$all_pages-4;$a>=$now_page+3;$a--) {  
                unset(
    $pages[$a]);  
            }  
            
    $pages[$a] = '...';  
        } 
     
    1 person likes this.
  20. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    806
    Reputations:
    311
    Всё, я тебя люблю
     
Loading...
Thread Status:
Not open for further replies.