Php 如何显示目录和所有子目录中的文件?
当用户可以上传照片并选择类别时,我正在处理我的照片库。我的类别是Php 如何显示目录和所有子目录中的文件?,php,photo,photo-gallery,Php,Photo,Photo Gallery,当用户可以上传照片并选择类别时,我正在处理我的照片库。我的类别是图像/中的子目录。当用户未选择类别时,照片将存储在images/中。我想在gallery中显示所有照片(来自所有类别和其他类别),但现在我只显示这些照片,而不显示类别。有人能帮我吗? 下面是我的php代码片段 $fo=opendir("images"); if ($dh = opendir("images")){ $count = 1; while($file=readdir(
图像/
中的子目录。当用户未选择类别时,照片将存储在images/
中。我想在gallery中显示所有照片(来自所有类别和其他类别),但现在我只显示这些照片,而不显示类别。有人能帮我吗?
下面是我的php代码片段
$fo=opendir("images");
if ($dh = opendir("images")){
$count = 1;
while($file=readdir($fo)){
if($file!="" && $file!="." && $file!=".."){
$image_path = "images/".$file;
if(!is_dir($image_path)){
?>
<div class="gallery">
<a href="<?= $image_path; ?>">
<img src="<?= $image_path; ?>">
但是我不知道下一步要做什么您应该使用递归DirectoryIterator,请参见 然后,您可以执行以下操作:
$folder = "path to your folder";
$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($folder, RecursiveDirectoryIterator::SKIP_DOTS),
RecursiveIteratorIterator::CHILD_FIRST
);
foreach ($files as $fileinfo) {
// fileinfo is an object, see documentation for info
$path = $fileinfo->getRealPath();
}
创建一个
递归
函数以深入到所有文件夹和子文件夹,或者最好使用和的组合,非常感谢,它帮助我获取了所有文件,但当我想显示它们时,我只会得到一些空白字段,比如它们无法打开。你的意思是图像不会显示在浏览器中吗?图像是否位于Web服务器可以访问的文件夹中?php可以看到文件夹的内容并不意味着您的Web服务器允许访问该文件夹。是的,它们不会显示。现在问题出现了,当我只显示主目录中的照片时,一切正常。我授予了服务器权限,以便在浏览器中访问文件夹,检查“开发”窗格,查看“网络”选项卡,加载页面。您应该看到错误、加载失败。您看到了什么错误代码?这就是我得到的:加载资源失败:服务器响应状态为404(未找到)
$folder = "path to your folder";
$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($folder, RecursiveDirectoryIterator::SKIP_DOTS),
RecursiveIteratorIterator::CHILD_FIRST
);
foreach ($files as $fileinfo) {
// fileinfo is an object, see documentation for info
$path = $fileinfo->getRealPath();
}