php visitFile()遍历指定文件夹函数
作者:bea
注:visitFile()有少量修改 代码如下: <? // 查看指定文件夹的文件 $fileList = array(); function visitFile($path) { global $fileList; $path = str_replace("\", "/", $path); $fdir = dir($path); while (($file = $fdir->read()) !== false) { if($file =
注: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>网络本地 ./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>
", $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>
", count($faileFiles));
foreach( $faileFiles as $key => $value)
{
printf("No.%4d·%s<br>
", $key+1, $value);
}
}
break;
}
}
?>
有用 | 无用
代码如下:
<?
// 查看指定文件夹的文件
$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>网络本地 ./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>
", $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>
", count($faileFiles));
foreach( $faileFiles as $key => $value)
{
printf("No.%4d·%s<br>
", $key+1, $value);
}
}
break;
}
}
?>
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 用PHP将数据导入到Foxmail的实现代码
- 提高PHP编程效率的53个要点(经验小结)
- 队列在编程中的实际应用(php)
- php生成随机密码的三种方法小结
- PHP安全技术之 实现php基本安全
- 小文件php+SQLite存储方案
- PHP中文件上传的一个问题
- PHP程序员面试 切忌急功近利(更需要注重以后的发展)
- php中函数的形参与实参的问题说明
- php数据库连接时容易出错的特殊符号问题
- PHP下利用header()函数设置浏览器缓存的代码
- 使用bcompiler对PHP文件进行加密的代码
- php采集时被封ip的解决方法
- php Notice: Undefined index 错误提示解决方法
- php下统计用户在线时间的一种尝试
- PHP生成excel时单元格内换行问题的解决方法
- PHP下对字符串的递增运算代码
- 深入理解PHP原理之异常机制
- php中var_export与var_dump的区别分析