使用PHP列出一个目录中的所有文件的最佳方法是什么?是否有$ _SERVER函数来执行此操作?我想列出usernames /目录中的所有文件,并使用链接循环该结果,这样我只需单击文件名的超链接即可到达那里.谢谢!
出于某种原因,我使用以下代码持续获得文件名为'1':
if (is_dir($log_directory))
{
if ($handle = opendir($log_directory))
{
while($file = readdir($handle) !== FALSE)
{
$results_array[] = $file;
}
closedir($handle);
}
}
Run Code Online (Sandbox Code Playgroud)
当我回显$ results_array中的每个元素时,我得到一堆'1',而不是文件的名称.如何获取文件的名称?
我正在尝试查找指定目录下的所有文件和文件夹
例如,我有/ home/user/stuff
我想回来
/home/user/stuff/folder1/image1.jpg
/home/user/stuff/folder1/image2.jpg
/home/user/stuff/folder2/subfolder1/image1.jpg
/home/user/stuff/image1.jpg
Run Code Online (Sandbox Code Playgroud)
希望这是有道理的!
可能重复:
PHP SPL RecursiveDirectoryIterator RecursiveIteratorIterator检索完整树
我不知道从哪里开始.但我必须获取文件夹中所有文件的路径以及路径中子文件夹的所有内容.例如,如果我有一个文件夹有五个文件夹,每个文件夹中有10个mp3等等...这意味着我的数组必须找到50个这些文件的路径.
后来我说我又添加了一个文件夹,里面有3个文件夹,每个文件夹有10个图像.
我的代码现在需要找到80个路径并将它们存储在一个数组中.
我的问题有意义吗?
更新:
我想要的输出是将所有这些路径存储在一个数组中.
但我会"爱"代码是动态的,这意味着如果我以后再添加10个文件夹,每个文件夹有17个子文件夹,每个文件夹都有大量不同的内容.我希望数组保存所有文件的文件路径.我知道这是有道理的.
我需要在文件夹及其子文件夹中列出所有文件(具有特定扩展名).我使用了RecursiveIteratorIterator,如@Matthew在PHP中的完美答案所列目录中的所有文件.
最后一件事:显示文件树,或者所有没有子目录的目录,都是处理文件时可能想要做的事情的例子.您如何建议将此数据传递给客户端,数据结构如何?
使用symfony我正在尝试创建一个列出Web文件夹中所有图像的页面
我创建了以下操作:
$dir = 'images/blog';
$fulldir = "{$_SERVER['DOCUMENT_ROOT']}/$dir";
$d = @dir($fulldir) or die('Failed opening directory for reading');
while(false !== ($entry = @$d->read()))
{
$this->imagesBlog[] = array(
"file" => "/$dir/$entry",
"size" => getimagesize("$fulldir/$entry"));
$d->close();
}
Run Code Online (Sandbox Code Playgroud)
以下模板:
foreach($imagesBlog as $img)
echo '<img class="photo" src="'.$img['file'].'" ' . $img['size'][3].'>'."\n";
Run Code Online (Sandbox Code Playgroud)
这似乎有效,但只返回包含多个文件的文件夹中的一个图像.
print_r($imagesBlog):
sfOutputEscaperArrayDecorator Object
(
[count:sfOutputEscaperArrayDecorator:private] => 1
[value:protected] => Array
(
[0] => Array
(
[file] => /images/blog/FM-stupidest.png
[size] => Array
(
[0] => 300
[1] => 252
[2] => 3
[3] => width="300" …Run Code Online (Sandbox Code Playgroud)