Php - Php Ile Dosya Sisteminde Gezinti Uygulamasi

    Php - Php Ile Dosya Sisteminde Gezinti Uygulamasi

    Php Php Ile Dosya Sisteminde Gezinti UygulamasiBu yazimda yer verecegim basit explorer ornegi de bunlardan biri.
    Ornegimizin icinde klasor islemlerine yardimci olacak komutlar uzerinde duruluyor.



    Nedir bu komutlar;



    dir (string $yol) : $yol degiskeni ile belirtilen yoldaki klasor hakkindaki
    bilgileri dizi olarak dondurur. bu komutu kullanabilmek icin bir degiskene atayip
    donen degerleri bu diziden cekerek kullanmak gerecektir.



    read() : diziden donen degerlerin adim adim okunmasini saglar.



    getcwd() : İcinde bulunulan klasorun yolunu verir.



    ve $_SERVER degiskenleri : print_r($_SERVER) komutuyla neler oldugunu
    gorebileceginiz bu degiskenler ornegimizde en buyuk yardimcimiz olacak
    degiskenlerdir.



    Kullanilan komutlardan bazilarina kisaca bir bakis yaptiktan sonra ornegimize gecelim :










    <html>

    <head>

    <style>

    a.link{

    font-family: verdana, Geneva, Arial, Helvetica, sans-serif;

    text-decoration: none;

    font-size: 12px;

    font-weight: bold;

    }

    a.link:hover{

    font-family: verdana, Geneva, Arial, Helvetica, sans-serif;

    text-decoration: none;

    font-size: 12px;

    font-weight: bold;

    }

    .text{

    font-family: verdana, Geneva, Arial, Helvetica, sans-serif;

    font-size: 12px;

    font-weight: bold;

    }

    .uyari{

    font-family: verdana, Geneva, Arial, Helvetica, sans-serif;

    font-size: 12px;

    color: red;

    }

    </style>

    </head>

    <body>

    <table cellpadding="0" cellspacing="0" width="400" bgcolor="#f5f5f5">

    <tr>

    <td class="uyari">

    <table cellpadding="0" cellspacing="0" width="400" bgcolor="#f5f5f5">

    <tr>

    <td colspan="3" class="uyari">

    <font color="#c0c0c0" size="-4">direct explorer v1.1.b || developed by breath</font>

    <ul>

    <li>Sayfalari çalistirmak için üzerine tiklayiniz

    <li>Klasorlere girmek için yanlarindaki [+] simgelerine tiklayiniz.

    </ul>

    </td>

    </tr>

    </table>

    <table cellpadding="0" cellspacing="0" width="200" bgcolor="#f5f5f5" border="0">

    <?php

    //root ayarlar&#253;

    $file_name = "web_directory.php";//dosyanin adi

    $root = $_SERVER['SCRIPT_FILENAME'];//director dosyaysinin bulundugu root klasor

    $root = ereg_replace($file_name,"",$root);

    $web_root = $_SERVER['SCRIPT_URI'];//director dosyaysinin web yolu

    $web_root = ereg_replace($file_name,"",$web_root);

    $page = $_SERVER['HTTP_REFERER'];

    $active = getcwd();

    if($_GET['dir']){

    $dir_path = $HTTP_GET_VARS['backDir'];

    $change_path = $dir_path."/".$_GET['dir'];

    chdir($change_path);

    }else{

    $change_path = getcwd();

    chdir($change_path);

    }

    $dir = getcwd();


    if(is_dir($dir)){

    $d = dir($dir);

    //once klasorlerin listelenmesi saglanir

    while( false != ($entry = $d->read())){

    if(is_dir($entry)){

    if(($entry!='.') && ($entry!='..')){

    echo "<tr class="text"><td valign="middle" width="10"><img src='$web_root/icons/folder03.gif' height=25 width=30></td><td align="left">$entry</td><td valign="middle"><a class="link" href="$page?dir=$entry&backDir=$dir"> [+]</a></td><td>[dir]</td></tr>";

    }

    }

    }

    //daha sonra dosyalar listelenir

    $d = dir($dir);

    while( false != ($entry = $d->read())){

    if(!is_dir($entry)){

    if($entry!='index.php'){

    $file = explode(".",$entry);

    $file = $file[1];

    if($file=='php'){

    /*

    system rootundan faydalanarak web rootunu parse eder

    filela birlestirerek link haline getirir

    */

    $f = getcwd();

    $f = explode($root,$f);

    $f = $f[1];

    $f = ereg_replace('[]',"/",$f);

    $link_path = $web_root.$f."/".$entry;

    echo "<tr class="text"><td><img src='$web_root/icons/letter.gif' height=25 width=30></td><td><a href="$link_path">$entry</a></td><td></td></tr>";

    }

    //bu kismi aktif yaparak tum dosyalarin listelenmesi saglanabilir.

    /*else{

    echo "<tr><td>--- $entry</td><td></td></tr>";

    }*/

    }

    }

    }

    }

    ?>

    <?php if (@getcwd()!=$root){?>

    <tr>

    <td>

    <br>

    <br>

    <a href="javascript:history.back()">Üst klasor</a>

    </td>

    </tr>

    <?php }else{?>

    <tr>

    <td>

    <br>

    <br>

    Üst klasor

    </td>

    </tr>

    <?php }?>


    </table>

    </td>

    </tr>

    </table>

    </body>

    </html>


[ Geri ] - [ Ana Sayfa ] - Bookmark and Share


travesti