if (!is_writable($save_path)){
mkdir($save_path, 0777, true);
}
$uploadfile = $save_path . basename($_FILES[$form_field_name]['name']);
if (is_writable($save_path)){
move_uploaded_file($_FILES[$form_field_name]['tmp_name'], $uploadfile)
}
업로드 디렉토리 안에 새 디렉토리가 만들어집니다. 서버에 퍼티가 있고 ls -la를 실행하면 권한/소유권으로 디렉토리가 만들어졌습니다. :PHP가 쓸 수없는 디렉토리를 만듭니다.
drwxr-XR-X 아파치 아파치
좋아요. 그러나 업로드 된 파일을 새 디렉토리로 이동하면 다음과 같이 실패합니다.
안전 모드 적용 제한. 그 UID 0 스크립트는 /var/www/vhosts/domain.com/httpdocs/media/uploads/DE 이 UID 48
좋아 소유에 액세스 할 수 없는, 그래서 어떻게 오류 얻을 새로운 폴더가 소유자와 그룹이 "apache"(사용자 48이라고 생각하는 사람)로 설정되고 "root"사용자가 액세스 할 수 없습니다 (사용자 0은 루트입니다). 그리고 나는 안전 모드가 777로서의 dir을 만드는 것을 멈추게하고, 내가 무언가를 요구하지 않기 위해 무한한 지혜로 결정했다고 생각합니다.
하지만 ... 내 PHP 스크립트는 "apache"로 디렉토리를 만들고 어떻게 루트로 이동하려고합니까? 도끼를 안전 모드로 가져 가지 않고 어떻게 둥근 모양으로 만들 수 있습니까? PHP는 워드 프로세서 당
스크립트가 디렉토리를 만들고 있지만 인수로 전달한 것과 다른 권한으로 끝난다는 사실은 스크립트가 설정할 수있는 권한을 시행하고있는 서버 측이 있다는 것을 암시한다. – GordonM