2016-06-03 4 views
-4

파일 브라우저로 웹 응용 프로그램을 만들었습니다. 사용자가 chmod/permission을 백엔드에서 PHP를 통해 처리되는 ajax 요청을 통해 변경할 수있는 기능을 추가하려고합니다.PHP : chmod()가 내 파일/폴더를 555 또는 444로 설정하는 이유는 무엇입니까?

(사이드 참고 : 나는 WAMP 내 지역 실행 해요)

그래서 처음에 내가 함께 권한을 읽고 있어요이

substr(sprintf('%o', fileperms($relativePath)), -4) 

이 형식 (0777, 0644을 얻을 수 있습니다, 등), 그렇지 않으면 32726과 같은 것을 반환합니다.이 정보는 UI에 표시되어 사용자가 whats current를 알 수 있도록 사용됩니다.

그러나 스크립트를 실행할 때이를 0777로 설정하면 정상적으로 실행되는 것 같습니다. 그런데 파일을 다시 읽으면 0555 또는 0444가 반환됩니다. 누구나 내가 누락 된 부분을 알고 있습니까?

+0

이것은 자바 스크립트와 어떤 관련이 있습니까? –

+0

JavaScript를 추가했기 때문에 요청을하기 위해 사용하고 있습니다. 누군가가 같은 설정을했다면, 검색 할 때 도움이 될 것입니다. – SReca

답변

0

, 오히려 chmod 명령은 창/아파치 설정에서 제대로 작동하지 않습니다 자세한 내용은 당신이 읽을 수 있습니다.

0

웹 서버가 사용 권한을 변경하려는 파일을 소유하고 있습니까? 반환 값을 테스트하여 chmod가 제대로 실행되었는지 또는 실패했는지 확인할 수 있습니다. 웹 서버에 권한이 없으면 FALSE를 반환합니다. 나는이 문제가되지 깨달았다 http://php.net/manual/en/function.chmod.php

<?php 

$is_success = chmod("myfile.pdf", 777); 
if($is_sucess) { 
    echo "success<br />\n"; 
} 
+0

필자는 실제로 PHP와 비슷한 설정을하고 있습니다. 문제는 성공 여부와 관계가 없지만, 일단 777로 perm을 변경하고 제공된 코드 스 니펫을 사용하여 파일을 다시 읽으라는 요청을 처리하면 문제가됩니다. 위의 경우 555 또는 444를 반환합니다. – SReca