php visitFile()遍歷指定文件夾函數(shù)
更新時間:2010年08月21日 20:29:51 作者:
php visitFile()遍歷指定文件夾函數(shù),需要在php中遍歷文件夾功能的代碼,可以參考下。
注:visitFile()有少量修改
<?
// 查看指定文件夾的文件
$fileList = array();
function visitFile($path)
{
global $fileList;
$path = str_replace("\\", "/", $path);
$fdir = dir($path);
while (($file = $fdir->read()) !== false)
{
if($file == '.' || $file == '..'){ continue; }
$pathSub = preg_replace("*/{2,}*", "/", $path."/".$file); // 替換多個反斜杠
$fileList[] = is_dir($pathSub) ? $pathSub."/" : $pathSub;
if(is_dir($pathSub)){ visitFile($pathSub); }
}
$fdir->close();
return $fileList;
}
?>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<form method="get">
<?
$path = str_replace("\\", "/", $path);
$path = preg_replace("*/{2,}*", "/", $path);
?>
路徑:<input type="text" name="path" id="path" value="<?=$path;?>"/><br>
<li>磁盤根目錄 /</li>
<li>網(wǎng)絡(luò)本地 ./phpMyAdmin</li>
<li>本地磁盤 file://C: 或者 C:</li>
<br>
<input name="action" type="submit" id="action" value="view" />
<input name="action" type="submit" id="action" value="delete" onclick="if(!confirm('是否刪除 '+path.value+' 的所有子文件夾和子文件?')) return false;" />
</form>
<?
if(!empty($path)){
$path = preg_replace("*/{2,}*", "/", $path);
$files = visitFile($path);
switch(strtolower($_GET["action"]))
{
case "view":
foreach($files as $key => $value)
{
printf("No.%4d·%s<br>\r\n", $key+1, $value);
}
break;
case "delete":
$faileFiles = array();
foreach(array_reverse($files) as $value)
{
if(!unlink($value))
{
array_push($faileFiles, $value);
}
}
if(!unlink($path)) { array_push($faileFiles, $path); }
if(count($faileFiles) > 0)
{
printf("<br><br>刪除失敗文件(%d):<p>\r\n", count($faileFiles));
foreach( $faileFiles as $key => $value)
{
printf("No.%4d·%s<br>\r\n", $key+1, $value);
}
}
break;
}
}
?>
復(fù)制代碼 代碼如下:
<?
// 查看指定文件夾的文件
$fileList = array();
function visitFile($path)
{
global $fileList;
$path = str_replace("\\", "/", $path);
$fdir = dir($path);
while (($file = $fdir->read()) !== false)
{
if($file == '.' || $file == '..'){ continue; }
$pathSub = preg_replace("*/{2,}*", "/", $path."/".$file); // 替換多個反斜杠
$fileList[] = is_dir($pathSub) ? $pathSub."/" : $pathSub;
if(is_dir($pathSub)){ visitFile($pathSub); }
}
$fdir->close();
return $fileList;
}
?>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<form method="get">
<?
$path = str_replace("\\", "/", $path);
$path = preg_replace("*/{2,}*", "/", $path);
?>
路徑:<input type="text" name="path" id="path" value="<?=$path;?>"/><br>
<li>磁盤根目錄 /</li>
<li>網(wǎng)絡(luò)本地 ./phpMyAdmin</li>
<li>本地磁盤 file://C: 或者 C:</li>
<br>
<input name="action" type="submit" id="action" value="view" />
<input name="action" type="submit" id="action" value="delete" onclick="if(!confirm('是否刪除 '+path.value+' 的所有子文件夾和子文件?')) return false;" />
</form>
<?
if(!empty($path)){
$path = preg_replace("*/{2,}*", "/", $path);
$files = visitFile($path);
switch(strtolower($_GET["action"]))
{
case "view":
foreach($files as $key => $value)
{
printf("No.%4d·%s<br>\r\n", $key+1, $value);
}
break;
case "delete":
$faileFiles = array();
foreach(array_reverse($files) as $value)
{
if(!unlink($value))
{
array_push($faileFiles, $value);
}
}
if(!unlink($path)) { array_push($faileFiles, $path); }
if(count($faileFiles) > 0)
{
printf("<br><br>刪除失敗文件(%d):<p>\r\n", count($faileFiles));
foreach( $faileFiles as $key => $value)
{
printf("No.%4d·%s<br>\r\n", $key+1, $value);
}
}
break;
}
}
?>
相關(guān)文章
php計算數(shù)組相同值出現(xiàn)次數(shù)的代碼(array_count_values)
這篇文章主要介紹了php計算數(shù)組相同值出現(xiàn)次數(shù)的代碼,需要的朋友可以參考下2015-01-01PHP+APACHE實現(xiàn)網(wǎng)址偽靜態(tài)
這篇文章主要介紹了PHP+APACHE通過使用mod rewrite模塊實現(xiàn)網(wǎng)址偽靜態(tài)的相關(guān)資料,需要的朋友可以參考下2015-02-02新安裝的MySQL數(shù)據(jù)庫需要注意的安全知識
在你自己安裝了一個新的MySQL服務(wù)器后,你需要為MySQL的root用戶指定一個目錄(缺省無口令),否則如果你忘記這點,你將你的MySQL處于極不安全的狀態(tài)(至少在一段時間內(nèi))。2008-07-07