fopen을 사용하여 새 파일을 만듭니다.fopen은 파일을 생성하지만 권한을 변경하는 방법은 무엇입니까?
$filename = 'user_data/10.xml';
$openhandle = fopen($filename, 'w+');
그런 다음 파일이 생성되었는지 확인합니다. file_exists()
기능.
문제는 다음과 같습니다. 파일이 일부 소유자, 아마도 폴더 이름으로 만들어 지지만 그 파일이 아닙니다. 또한 파일의 사용 권한은 readable by the owner
입니다. 그리고 소유자가 아니기 때문에 파일을 읽거나 권한을 변경할 수 없습니다.
하지만 시도는 사용하여 변경하는 경우 :
chown($filename, 'myusername');
chmod($filename, 777);
내가 파일 소유자 및 터미널을 사용하여 권한을 sudo
를 사용하여 변경했습니다. 그것은 제대로 작동했습니다. 그래서 나는 위의 함수를 shell_exec()
과 함께 사용하여 루트에서 실행되도록 노력했습니다.
하지만 운이 없었습니다.
비록 파일 권한 번호에 많은 경험이 없지만 chown 명령도 작동하지 않습니다.
그럼 소유자 및 다른 PHP 스크립트에서 읽고 쓸 수 있도록 파일 소유자와 권한을 어떻게 변경해야합니까?
파일 업로드시 (chmod 이전), 파일에 대한 사용 권한, user_data 폴더에 대한 사용 권한 및 할당 된 사용자는 누구입니까? –
새로운 빈 파일을 만든 다음 fwrite()를 사용하여 빈 파일을 작성합니다. 파일에 대한 사용 권한은 다음과 같습니다 소유자 및 그룹 : www가 데이터 소유자 : 읽기 그룹 : 기타를 실행하십시오 _ 데이터 폴더에 을 실행, 내가 주인이야 모든 삼명이 읽기 전용으로 설정되어, 쓰기 , Execute ... –
TimWickstrong에 따르면 chmod 명령 앞에 0을 추가해야하지만 chmod에 대한 권한이 없을 수도 있습니다. 시도해보십시오 $ chmoded = chmod ($ filename, 0777); if (! $ chmoded) {echo "파일 사용 권한을 변경할 수 없습니다";} ... 또한 파일 사용 권한이 777이면 chown 할 필요가 없습니다. –