2012-05-08 1 views
1

내 사이트 (https://github.com/blueimp/jQuery-File-Upload)에서 blueimp 파일 업 로더를 사용하고 있습니다.Apache/PHP/JS - 파일 권한을 0644에서 0777로 바꿀 수 없습니다.

내 로컬 컴퓨터 (WAMP)에 업로드 된 파일을 쉽게 삭제할 수 있습니다.

내 온라인 서버 (램프)에서 파일을 삭제할 수 없습니다. - 403 금지됨이 반환됩니다. 그리고 모든 파일의 사용 권한은 0644로 설정됩니다.

필자는 FileZilla를 통해 이러한 파일을 수동으로 변경하려고했습니다 (550은 perms 오류를 변경할 수 없음). 나는 또한 cPanel File Manager를 통해이 작업을 시도했다.

왜 이런 일이 발생하는지 알고있는 사람이 있습니까? 업로드를 시작하기 전에 PHP/JS로 원하는 권한을 설정할 수 있습니까?

내가 소유하고있는 파일에 대한 사용 권한을 변경할 수없는 이유는 무엇입니까? 나는 서버와 파일을 소유하고있다.

질문이 이상적으로 공식화되지 않았다면 죄송합니다.

답변

3

로컬 (Windows) 기반 서버 (관리자)는 모든 파일을 삭제할 수 있습니다.

Linux 서버에서 웹 서버 소유자 ('www-data'와 같은 것)로 업로드되고 있지만 권한이 없습니다. 업로드 된 파일과 동일한 사용자로 실행되므로 PHP 스크립트에서 권한을 설정하는 것이 효과적입니다.

+0

감사합니다. 어떤 생각이 있나요? 나는 'r'에서 'w +'로 fopen 모드를 변경하려고 시도했다. (https://github.com/blueimp/jQuery-File-Upload/blob/master/server/php/upload.class.php) 결과. 모든 안내 또는 링크를 부탁드립니다. – CodeVirtuoso

+0

'fopen'은 파일을 쓰는 것에 관한 것입니다. (그리고 당신이 쓰고 있기 때문에, 쓰기가되어야합니다.) http://php.net/chmod는 파일 모드를 변경합니다 (변경자 권한). 권한을 너무 엄격하게 설정하는 것과 관련된 보안 문제에 대해 읽어보십시오. 장기적으로 스크립트가 더 이상 필요하지 않은 파일 자체를 삭제하도록하는 것이 유용 할 수 있습니다. 답변을 마크 업/수락하는 것을 잊지 마십시오. –

+0

고마워. 죄송합니다. 추가로 요청할 수는 있지만 업로드하지 않은 파일에 어떻게 적용 할 수 있습니까? move_uploaded_file 바로 전에 chmod를 시도했지만 작동하지 않았습니다. \t \t chmod ($ uploaded_file, 777); move_uploaded_file ($ uploaded_file, $ file_path); – CodeVirtuoso