在文件夹/目录(PHP)中搜索特定的文件扩展名
问题描述:
我试图在PHP中设计一个程序,它允许我在一个已知的目录中找到具有特定文件扩展名的文件(例如.jpg,.shp等)其中包含多个文件夹。 示例代码,文档或有关我将需要使用什么方法的信息将非常感谢。在文件夹/目录(PHP)中搜索特定的文件扩展名
答
glob
是很容易的:
<?php
foreach (glob("*.txt") as $filename) {
echo "$filename size " . filesize($filename) . "\n";
}
?>
有用于在readdir
page递归下降了几点建议。
答
glob
会让你得到给定目录中的所有文件,但不是子目录。如果你需要太,你将需要:10获得递归,20转到10
下面是一个伪伪代码:
function getFiles($pattern, $dir) {
$files = glob($dir . $pattern);
$folders = glob($dir, GLOB_ONLYDIR);
foreach ($folders as $folder) {
$files = $files + getFiles($folder);
}
return $files;
}
以上显然需要进行调整,以得到它的工作,但希望你能明白这一点(记住不要跟随“..”或“。”的目录链接,否则你将进入无限循环城镇)。
+1非常好!我忽略了SPL。不过,OP应该先熟悉一些基本的东西。 – 2009-11-30 14:13:10
如果学习PHP,SPL是一个开始的好地方,因为在那里赢得的胜利远远超过PHP的传统,不一致的函数库。 – 2009-11-30 14:52:43