我如何列出一个文件夹中的所有文件及其子文件夹使用php文件搜索使用php的目录
回答
您可以使用SPL迭代器。尤其是RecursiveDirectoryIterator
,它将递归遍历给定的目录结构。
像这样:
$realpath = realpath('/path/to/file');
$fileObjects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($realpath),
RecursiveIteratorIterator::SELF_FIRST);
foreach($fileObjects as $key => $object){
if($object->getFilename() === 'filename.png') {
echo $object->getPathname();
}
}
的SELF_FIRST
迭代模式基本上告诉迭代器父项目应先放置(父母来第一次)。
你是在谈论一个运行自己的程序或Web应用程序的PHP脚本。你为什么需要这样做?
echo shell_exec('find -name *');
但是,那么你真的可以在shell中运行它。
如果您希望Web应用程序运行该脚本,www-data将需要权限才能运行该脚本,并且让它执行此操作非常不安全。相反,您可以让拥有适当权限的用户登录并执行此操作。不完全不安全。
我要搜索一个特定的文件夹中和它的子文件夹,当我运行一个网页。 – Warrior 2010-10-09 06:30:37
你需要什么来准确搜索这个文件? – 2010-10-09 06:51:39
您可以编写一个脚本,使用数组中的php scandir来获取文件夹(和子文件夹)中的所有文件。然后你可以搜索你的特定文件的数组。
例子:
<?php
$dir = '/tmp';
$files = scandir($dir);
print_r($files);
?>
输出是这样的:
Array
(
[0] => .
[1] => ..
[2] => bar.php
[3] => foo.txt
[4] => somedir
)
如果你希望能够指定一个面具什么的,比如* .txt格式的所有TXT文件,那么有没有更好的功能比“glob” :)
- 1. php scandir - >搜索文件/目录
- 2. 搜索文件的目录
- 3. PHP - 搜索特定文件的目录和子目录?
- 4. PHP:搜索目录树的文件,并返回文件路径
- 5. PHP搜索目录设计
- 6. 如何使用文件名从目录搜索文件?
- 7. 搜索目录中的文件
- 8. 任何.XML文件的搜索目录
- 9. makefile:搜索子目录中的文件
- 10. Bash搜索目录中的文件
- 11. 搜索所有目录中的文件
- 12. 搜索文件的tarball目录?
- 13. 使用PHP搜索文本文件
- 14. PHP突然停止搜索当前目录中的文件
- 15. 搜索目录中的特定文件大小 - Windows/PHP
- 16. 如何使用perl搜索目录中的文件夹
- 17. 在DATE中使用cmd搜索目录中的文件
- 18. 使用Java的.mkv文件递归搜索目录
- 19. 使用glob.glob递归搜索当前目录下的* .txt文件
- 20. 如何仅使用c搜索目录中的jpg文件#
- 21. 使用通配符搜索目录中的文件
- 22. 如何搜索目录和子目录中的所有文件使用grep
- 23. Java - 在目录中搜索文件
- 24. C++搜索目录和文件
- 25. 通过目录搜索文件
- 26. 在目录中搜索文件
- 27. 在Java根目录下搜索文件
- 28. 在目录中搜索文件名
- 29. Vb.net搜索文件与目录
- 30. 按目录搜索模糊文件?
'SELF_FIRST'对于仅列出文件并不特别有用,并且可能会混淆OP。 – salathe 2010-10-09 08:20:25