最近在能php目錄操作,搞了一個目錄無限遍歷:
使用的函數有:
isset()判斷某個變量是否定義
chdir() 將當前目錄改變為指定的目錄。
opendi()打開目錄。
readdir()讀取目錄。
getcwd()獲取當前目錄。
還用到了for if GET傳值 大概就這些東東:
下面是代碼:
復制代碼 代碼如下:
<?php
if(isset($_GET['id']))//判斷是否傳值
{
$s=str_replace(' ','+',$_GET['id']);
$s=base64_decode($s);//接受傳遞的值 值一般是要打開的目錄的絕對路勁
chdir($s);//切換到要打開的目錄
}
$a=opendir('.');//打開當前目錄
while(false!==($c=readdir($a)))//循環遍歷目錄內容的文件名
{
if(is_dir($c))//判斷是目錄還是文件
{
if($c=='.')
{
}
else
{
if($c=='..')
{
$w=base64_encode(substr(getcwd(),0,strrpos(getcwd(),'\\')));//當前路徑加上目錄名 就是目錄的絕對路徑
echo "上一級"."<a href='6.php?id=$w'>打開</a><br />";//當點擊打開時將要打開的絕對路徑傳遞出去 用chdir 切換到要打開的目錄下
}else
{
$w=base64_encode(getcwd().'\\'.$c);//當前路徑加上目錄名 就是目錄的絕對路徑
echo "$c"."<a href='6.php?id=$w'>打開</a><br />";//當點擊打開時將要打開的絕對路徑傳遞出去 用chdir 切換到要打開的目錄下
}
}
}
else
{
echo "$c 不是目錄<br />";
}
}
?>