2012-07-06 39 views
1

我有一个问题,我的opendir函数。没有这样的文件或目录(opendir)PHP

if ($handle = opendir($dir)) { 
    echo "Directory handle: $handle\n"; 
    echo "Entries:\n"; 

    while (false !== ($entry = readdir($handle))) { 
     echo "$entry\n"; 
    } 

    closedir($handle); 
} 

我检查了我的文件夹是否存在,它确实存在。我将权限修改为。可能是什么问题呢?

例如:images/car/Volvo_S40_4dr_sedan/

不工作。问题是什么?

+0

检查'getcwd()'是否使用相对路径 – Tobas 2012-07-06 15:06:17

+0

检查相对路径...你确定PHP的工作目录是你认为它的地方吗? – 2012-07-06 15:06:45

+0

第一步是检查'file_exists($ dir)'和'is_dir($ dir)'然后'realpath($ dir)'的结果。并检查您是否在运行安全模式的古老PHP安装中运行。 – DaveRandom 2012-07-06 15:09:18

回答

2

看来你正在使用相对路径。如果是这样,那么请确保您正确地构建了相对于脚本当前工作目录的路径。

排除故障将绝对路径分配给$dir,例如。 $dir = "/var/www/myproject/images/car/Volvo_S40_4dr_sedan/"。如果它起作用,那么问题的原因就是相对路径的错误参考。

我会建议你坚持绝对路径,除非你有充分的理由使用相对路径。

+0

这对我工作..谢谢! – Andre 2012-07-06 15:20:45

+0

不客气。 – 2012-07-06 15:55:15

相关问题