2012-07-06 6 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); 
} 

내 폴더가 있는지 확인합니다. 나는 허가를 에 chmodded했다. 무엇이 문제 일 수 있습니까? 예를 들어

:

images/car/Volvo_S40_4dr_sedan/이 작동하지 않습니다. 문제가 무엇입니까?

+0

상대 경로를 사용하는 경우'getcwd()'를 확인하십시오. – Tobas

+0

상대 경로를 확인하십시오 ... PHP의 작업 디렉토리가 있다고 생각하십니까? –

+0

첫 번째 단계는'file_exists ($ dir)'과'is_dir ($ dir)'그리고'realpath ($ dir)'의 결과를 검사하는 것입니다. 그리고 안전 모드가 설정된 고대 PHP 설치에서 실행 중인지 확인하십시오. – DaveRandom

답변

2

상대 경로를 사용하고있는 것으로 보입니다. 그렇다면 스크립트의 현재 작업 디렉토리와 관련된 경로를 올바르게 구성해야합니다.

문제를 해결하려면 $dir에 절대 경로를 지정하십시오. $dir = "/var/www/myproject/images/car/Volvo_S40_4dr_sedan/". 작동하는 경우 문제의 원인은 상대 경로의 잘못된 참조입니다.

상대 경로를 사용해야 할 충분한 이유가없는 경우 절대 경로를 사용하는 것이 좋습니다.

+0

이것은 나를 위해 일했습니다 .. 고마워! – Andre

+0

당신은 환영합니다. –

관련 문제