PHP FAQ

  1. Rating: +0

    Positive Negative

    Wyświetlanie IP (odporne na proxy)

    <?
    function host_ip()
    {
    global $HOST;

    // Zczytujemy zmienne srodowiskowe
    $cache = $_SERVER['REMOTE_ADDR'];
    $proxy = $_SERVER['HTTP_X_FORWARDED_FOR'];

    // Bawimy sie w rozpoznanie
    if($proxy == '')
       { $HOST = @gethostbyaddr($cache); }
    else
        {
        list ($lok, $hos) = split('[,]', $proxy);
        $czysty = ltrim($hos);
        $hosti = @gethostbyaddr($czysty);
        if($hosti == $czysty || $hosti == '') // Poprawka z 18 II po sugestii zgłoszonej przez stera
         { $hosti = @gethostbyaddr($cache); };
        $HOST = "$hosti ($lok)";
        };
    };

    host_ip();
    echo "Twój pełny host to: $HOST";
    ?>

    Źródło: http://www.kedziora.info/testy/?id=2
    Autor: masakra


    <?php
    function GetClientIP()
    {
        $ip = 0;

        if( ! empty( $_SERVER[ 'HTTP_CLIENT_IP' ] ) )
        {
            $ip = $_SERVER[ 'HTTP_CLIENT_IP' ];
        }

        if( ! empty( $_SERVER[ 'HTTP_X_FORWARDED_FOR' ] ) )
        {
            $ipList = explode( ", ", $_SERVER[ 'HTTP_X_FORWARDED_FOR' ] );
            if( $ip )
            {
                array_unshift( $ipList, $ip );
                $ip = 0;
            }
            foreach( $ipList as $v )
            {
                if( ! eregi( "^(192.168|172.16|10|224|240|127|0.", $v ) )
                {
                    return $v;
                }
            }
        }

        return $ip ? $ip : $_SERVER[ 'REMOTE_ADR' ];
    }
    ?>
    Źródło: http://forum.php.pl/
  2. Rating: +0

    Positive Negative

    Wyświetlanie wszystkich plików w katalogu

    <?
    $katalog="nazwa_katalogu"; //podajemy nazwe katalogu
    $dir=opendir($katalog);
    while($plik=readdir($dir)){
        echo $plik.'<br>';
    }
    ?>

    lub:

    <?
    $sciezka = '.';
    foreach (new DirectoryIterator($sciezka) as $plik) {
        echo "$plik<BR>n";
    }
    ?>

    lub:

    <?
    $katalog="nazwa_katalogu"; //podajemy nazwe katalogu
    $dir=opendir($katalog);
    while($plik=readdir($dir)){
        if($plik!="." && $plik!=".."){
            echo $plik.'<br>';
        }
    }
    closedir($dir);
    ?>

    Wyświetlanie wszystkich plików w katalogu oraz linki do nich :
    <?
    $katalog="nazwa_katalogu"; //podajemy nazwe katalogu (jezeli biezacy to ".")
    $dir=opendir($katalog);
    while($plik=readdir($dir))
    {
    if($plik!="." && $plik!="..")
    {
    ?>
       <a href="<?echo $katalog."/".$plik;?>"><?echo $plik;?></a><br>
    <?
    }
    }
    closedir($dir);
    ?>
  3. Rating: +0

    Positive Negative

    Wyświetlanie plików w katalogu i przycisk usuń

    <table>
    <?
    $nazwa_katalogu=".";
    if(isset($submit) && $plik_u){
        for($i=0;$i<count($plik_u);$i++){
            if(file_exists($nazwa_katalogu."/".$plik_u[$i]) && !is_dir($nazwa_katalogu."/".$plik_u[$i])){
                unlink($nazwa_katalogu."/".$plik_u[$i]);
                }
            }
        }
    $katalog=opendir($nazwa_katalogu);
    ?>
    <form action="<?print $PATH_INFO;?>" method="post">
    <?
    while($plik=readdir($katalog)){
        if($plik!="." && $plik!=".."){
            echo"<tr><td>";
            print $plik;
            echo"</td>";
            ?>
            <td><input type="checkbox" name="plik_u[]" value="<?print $plik;?>"></td></tr>
            <?
            }
        }
    closedir($katalog);
    ?>
    </table>
    <BR><input type="submit" name="submit" value="usuń">
    </form>
  4. Rating: +0

    Positive Negative

    Odczytywanie konkretnych linii z pliku

    <?
    $wiersz=file("jakis_tam_plik");
    echo $wiersz[2]."<br>";
    echo $wiersz[4];
    ?>