2012-07-06 40 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

相關問題