php 遍历文件夹文件问题

现在我有这样的需求:遍历C盘下所有的文件和文件夹(或者某个目录下所有的文件和文件夹),并且获取所有目录的名字和路径、每个目录下的文件的名字和路径存储起来,现在我不管后面的... 现在我有这样的需求: 遍历C盘下所有的文件和文件夹(或者某个目录下所有的文件和文件夹),并且获取所有目录的名字和路径、每个目录下的文件的名字和路径存储起来,现在我不管后面的存储,只想知道如何可以遍历、获取名字、路径的方法?求高手!! 展开
 我来答
匿名用户
2013-04-02
展开全部
<?php
//脚本根目凳余孝录
define ( 'S_ROOT', dirname ( __FILE__ ) . DIRECTORY_SEPARATOR );
//递归查找搜索毁拆文件
function glob_recursive($pattern, $flags = 0) {
$files = glob ( $pattern, $flags );

foreach ( glob ( dirname ( $pattern ) . '/*', GLOB_ONLYDIR | GLOB_NOSORT ) as $dir ) {
$files = array_merge ( $files, glob_recursive ( $dir . '/' . basename ( $pattern ), $flags ) );
}

return $files;
}
//如果搜索所有文件可用 S_ROOT.'image/'."*.*"
//如果只是某枣稿一类文件可以 S_ROOT.'image/'."*.gif"
$filelist = glob_recursive(S_ROOT.'image/'."*.gif");
foreach ($filelist as $file) {
echo '目录 '.dirname($file).' 路径 '. $file.'<br />';
}
?>

执行脚本结果类似下图

百度网友8041235
2013-04-03 · TA获得超过227个赞
知道小有建树答主
回答量:334
采纳率:0%
帮助的人:227万
展开全部
/**
* 列出目录下所有文件
* @param string $path 路径
* @param string $exts 扩展名
* @param array $list 增加的文件列表
* @return array 所有满足条件的返芦仿文件
*/
function dir_list($path, $exts = '哗宽', $list = array()) {

$path = str_replace('\漏纤\', '/', $path);
substr($path, -1) != '/'?$path = "{$path}/":"";
$files = glob($path.'*');
if ($files) {
foreach($files as $v) {
if (empty($exts) || pathinfo($v, PATHINFO_EXTENSION) == $exts) {
$list[] = $v;
if (is_dir($v)) {
$list = dir_list($v, $exts, $list);
}
}
}
}
return $list;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0468555
2013-04-02 · TA获得超过2617个赞
知道答主
回答量:963
采纳率:0%
帮助的人:176万
展开全部

主要思想还是使用递归的方式,判断如果是目录,则重新使用函数,如果不是目录,就直接显示文件路径。

但是在递归的时掘谈候要注意排除两个特殊的目录'.'和锋稿'..'如果不考虑这个,程序容易陷入死循环

function getdir($path)
{
if (!is_dir($path))
return;
$handle = dir($path);
while ($file = $handle->read()) {
if ($file != '.' && $file != '..') {
$path2 = $path . '/' . $file;
if (is_dir($path2)) {
echo "目录".$file . "<br />";
getdir($path2);
} else {
echo $path2 . '<银散孝br />';
}
}
}
}
getdir("这里添加路径");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式