Разрешения файла и CHMOD: Как установить 777 в PHP при создании файла?

При сохранении файла, который когда он не существует, создается вопрос с правами доступа к файлу, который сначала создается как новый файл.

Теперь все идет хорошо, и сохраненный файл имеет режим 644 .

Что мне нужно изменить здесь, чтобы файлы сохранялись как режим 777 ?

Спасибо тысячу за любые подсказки, подсказки или ответы. Код, который, по моему мнению, имеет значение здесь, я включил:

 /* write to file */ self::writeFileContent($path, $value); /* Write content to file * @param string $file Save content to wich file * @param string $content String that needs to be written to the file * @return bool */ private function writeFileContent($file, $content){ $fp = fopen($file, 'w'); fwrite($fp, $content); fclose($fp); return true; } 

PHP имеет встроенную функцию bool chmod(string $filename, int $mode )

http://php.net/function.chmod

 private function writeFileContent($file, $content){ $fp = fopen($file, 'w'); fwrite($fp, $content); fclose($fp); chmod($file, 0777); //changed to add the zero return true; } 

Вам просто нужно вручную установить нужные разрешения с помощью chmod() :

 private function writeFileContent($file, $content){ $fp = fopen($file, 'w'); fwrite($fp, $content); fclose($fp); // Set perms with chmod() chmod($file, 0777); return true; } 

Если вы хотите изменить разрешения существующего файла, используйте chmod (режим изменения):

 $itWorked = chmod ("/yourdir/yourfile", 0777); 

Если вы хотите, чтобы все новые файлы имели определенные разрешения, вам нужно изучить настройку вашего umode . Это параметр процесса, который применяет стандартную модификацию по умолчанию.

Это субтрактивный. Под этим я подразумеваю, что umode из 022 предоставит вам разрешение по умолчанию 755 ( 777 - 022 = 755 ).

Но вы должны очень тщательно подумать обо всех этих вариантах. Файлы, созданные в этом режиме, полностью не защищены от изменений.