2016-11-01 3 views
0

PHP 업로드 스크립트를 사용하여 동적으로 생성 된 모든 폴더에 권한이 부여되어 1354 파일을 저장할 수 없습니다.MKDIR이 올바르게 작동하지 않습니다.

if(!file_exists($options['uploadDir']) && !is_dir($options['uploadDir']) 
&& mkdir($options['uploadDir'], 0750, true)) 
{ 
    $this->data['hasWarnings'] = true; 
    $this->data['warnings'] = "A new directory was created in " . 
    realpath($options['uploadDir']); 
} 
if(!is_writable($options['uploadDir'])) 
    @chmod($options['uploadDir'], 0750); 

내가 뭘 잘못하고 있는지 알 수 없습니다.

+1

실제 코드입니까? base 10의 750은 base 8의 1356이므로, '0750'대신 코드에 '750'을 넣는 것과 매우 흡사합니다. –

답변

0

http 서버의 매개 변수, 특히이를 실행하는 사용자의 프로필과 시스템의 기본 사용자 프로필을 확인하십시오. 어딘가에 다른 권한을 강제 설정하는 "umask"가있을 수 있습니다.

PHP 명령 umask으로 umask를 변경하려고 할 수 있습니다.

또한 상위 폴더의 권한을 확인하고 폴더의 소유권을 확인할 수도 있습니다.