2012-04-28 3 views
2

를 만들 .php on line 104PHP는 내가 디렉토리를 생성하고 내가 오류를</p> <p>경고를 얻고 디렉토리

코드를 실행하는 php 파일은 www/console에 있으며 만들고자하는 디렉토리는 www/images/gallery에 있습니다.

나는 당신이 mkdir 명령은 방금 'A1234'는 $dir을 사용

define("PATH", "/www/images/gallery"); 

$dir = 'a1234'; 

$targetfilename = PATH . '/' . $dir; 

if (!is_file($dir) && !is_dir($dir)) { 
    mkdir($dir); //create the directory 
    chmod($targetfilename, 0777); //make it writable 
} 
+1

PHP는'/ www/images/gallery'에 대한 쓰기 권한이 있습니까? – Ryan

+1

'mkdir ($ dir)'은'false'를 반환 할 가능성이 높습니다. 파일을'chmod '하려고 시도하기 전에 반환 값을 확인하고 싶을 수도 있습니다. – Sampson

+0

예 모두 777로 설정 –

답변

3

를 작동하는 등 ../images/gallery 또는 홈/www가 있지만 아무 것도 seesm로 경로를 설정 많은 변화를 시도했다 (현재 작업 디렉토리에 있음). 이 작업은 실패하고 chmod도 실패합니다.

솔루션 : 당신은 아마 PATH에 $ 디렉토리를 앞에 할 ...

+0

예. 이것이 문제라고 생각합니다. 올바른 경로는 무엇이라고 생각하십니까? –

+0

고마워, 나는 ../images/gallery로 경로를 변경했다. –

2

그것은 당신의 현재 작업 디렉토리에 $dir하게, 그러나,이 당신의 $targetfilename와 동일한 것을 의미하지 않는다. mkdir($dir)보다는 mkdir($targetfilename)을 사용해야한다고 말합니다.

2

친애하는 chmod()에게 시간 문제를 만드십시오. 그래서 나는 이것을 사용하는 것을 제안 할 것이다 mkdir ("/ path/to/my/dir", 0700); 생성 된 디렉토리가 준비되어 있고 쓸데없는 것일 경우 mkdir ("/ path/to/my/dir", 0777);

2

문제는 작성하지 않은 파일을 chmod 할 수 없다는 것입니다. 당신이 폴더에 쓸 수 있도록하려면, chmod를을 755로하지 777 777 파일입니다 : 그 이유로, 나는

$task = chmod($dir, 0755); //make folder writable 

팁으로 라인

$task = chmod($targetfilename, 0777); //make it writable 

을 변경했습니다.

관련 문제