无法使用PHP DirectoryIterator访问文件夹

时间:2015-04-07 12:36:15

标签: php directory dir

我尝试访问一个up文件夹。

网站文件夹是:您还可以在此处查看主文件夹的图片: http://i58.tinypic.com/15odxl1.png

|
| - layout/(contains mainpic.php)
| - style/(contains css styles)
| - wallpapers/ (more folders here - sports, abstract, cartoon etc)
| - index.php

在“mainpic.php”文件中,我写了这个文件来访问up文件夹“wallpapers”中的“Sports”文件夹。

我的代码:

<?php
$firstPath="../wallpapers/Sports";
$file=new DirectoryIterator($firstPath);

echo "<ul>";

recurseImage($file);

function recurseImage($path)
{
    $dir=new DirectoryIterator($path);
 while ($dir->valid())
  {
     $file=$dir->current();
     echo "<li> <img src='".$file->getFilename().".jpg'></img>";
 $dir->next();
 }


echo "</ul>";
}
?>

但是当我执行该文件时,它显示一个php错误,上面写着“找不到路径”。

我尝试访问唯一的主要文件夹“壁纸”,如下所示:

$firstPath="wallpapers";

并且即使我没有将..放在路径之前也能正常工作!

4 个答案:

答案 0 :(得分:0)

如果你的mainpic.php包含在文件夹上面的文件中,你应该尝试声明绝对路径。试试:

$firstPath= __FILE__"../wallpapers/Sports";

答案 1 :(得分:0)

由于文件包含在您的索引中,请尝试:$firstPath="wallpapers/Sports";

答案 2 :(得分:0)

DirectoryIterator it self是一个类,提供了一个简单的界面来查看文件系统目录的内容。

我建议您尝试h5a1目录列表。你可以在here获得它。这很简单,从我的角度来看,这是一个用于共享文件的不错的选项。因为您使用的是内置的Apache服务器,所以不需要安装更多的东西(没有开销),甚至不需要运行额外的守护进程来提供文件。你只需利用已有的东西,并对其进行改进。它有很多免费功能

您可以在here中查看演示。

希望你对使用它感兴趣.. :)

答案 3 :(得分:-1)

“我试图访问唯一的主要文件夹”壁纸“,如下所示:$ firstPath =”wallpapers“;它有效!即使我没有把”..“放在路径之前!”

这意味着您的“壁纸”和您的脚本位于同一文件夹中。试试

$firstPath="./wallpapers/Sports";