11 Kasım 2014, 05:09
#1 Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
PHP ile dosya sisteminde gezinti uygulamasi
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
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ý
$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>
__________________
Bu kez pek bir afili yalnızlık, ağlatan bir kadın kadar düşman. Ağzı bozuk üstelik bırakmıyor acıtmadan.