PHP读取目录下所有文件
读取名为DD的目录下的所有文件(假设要写的这段PHP代码文件和DD在同一目录,不是在DD下哦)。注意:DD下还有几个子目录(比如有a,ab,aii,dec4个子目录,还有...
读取名为DD的目录下的所有文件(假设要写的这段PHP代码文件和DD在同一目录,不是在DD下哦)。注意:DD下还有几个子目录(比如有a,ab,aii,dec4个子目录,还有几个文本文件和DOC文件)。
读取所有文件后,取得文件名,文件路径,文件修改时间,文件的扩展名,在页面输出,最后用&分隔存入TXT文件。
我是新人,我已经按照上面的要求建好文件和目录了,需要可以运行出结果的代码。便于理解。
FILETYPE返回的是dir和file,dir是目录,file是文件,是判断是目录还是文件的吧,不是返回扩展名啊。 展开
读取所有文件后,取得文件名,文件路径,文件修改时间,文件的扩展名,在页面输出,最后用&分隔存入TXT文件。
我是新人,我已经按照上面的要求建好文件和目录了,需要可以运行出结果的代码。便于理解。
FILETYPE返回的是dir和file,dir是目录,file是文件,是判断是目录还是文件的吧,不是返回扩展名啊。 展开
3个回答
2010-10-21
展开全部
1楼的不错,但是有点小BUG哦。
不过过滤应该在is_dir之后,不然连名字以.php结尾的目录也会被忽略掉。要记得目录名中是可以有点号的。
不过过滤应该在is_dir之后,不然连名字以.php结尾的目录也会被忽略掉。要记得目录名中是可以有点号的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
希望你下载个手册看看,上边有很多这种例子,手册里搜索readdir
以下来自手册:
function ls($dir, $mask /*.php$|.txt$*/)
{
static $i = 0;
$files = Array();
$d = opendir($dir);
while ($file = readdir($d))
{
if ($file == '.' || $file == '..' || eregi($mask, $file) ) continue;
if (is_dir($dir.'/'.$file))
{
$files += ls($dir.'/'.$file, $mask);
continue;
}
$files[$i++] = $dir.'/'.$file;
}
return $files;
}
$f = ls('E:/www/mymoney/lsdu', ".php$" /*no spaces*/);
//这里第二个参数代表不读取.php文件
2楼说的不错,不过有几个用.php等字符做文件夹的名字呢?
文件扩展名:请使用函数filetype 修改时间:filemtime
恩,我想错了
那你这样取:
在$files[$i++] = $dir.'/'.$file;这一行后边加上
$extend = pathinfo($file);
echo strtolower($extend["extension"]),'<br/>';
以下来自手册:
function ls($dir, $mask /*.php$|.txt$*/)
{
static $i = 0;
$files = Array();
$d = opendir($dir);
while ($file = readdir($d))
{
if ($file == '.' || $file == '..' || eregi($mask, $file) ) continue;
if (is_dir($dir.'/'.$file))
{
$files += ls($dir.'/'.$file, $mask);
continue;
}
$files[$i++] = $dir.'/'.$file;
}
return $files;
}
$f = ls('E:/www/mymoney/lsdu', ".php$" /*no spaces*/);
//这里第二个参数代表不读取.php文件
2楼说的不错,不过有几个用.php等字符做文件夹的名字呢?
文件扩展名:请使用函数filetype 修改时间:filemtime
恩,我想错了
那你这样取:
在$files[$i++] = $dir.'/'.$file;这一行后边加上
$extend = pathinfo($file);
echo strtolower($extend["extension"]),'<br/>';
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询