У меня есть скрипт, который создает, обновляет или удаляет файл с указанным аргументом в моей / var / www / папке.
if( $_SERVER['REQUEST_METHOD'] === 'PUT' ){
$params = json_decode(file_get_contents("php://input"));
$myfile = fopen( '/var/www/folder/'. $params->name , "w") or die('failed to open file'. $params['name']);
fwrite( $myfile, $params->command );
fclose();
} else if( $_SERVER['REQUEST_METHOD'] === 'DELETE' ){
$params = json_decode(file_get_contents("php://input"));
echo unlink( '/var/www/folder/'. $params->name )? "The file was deleted" : "The file was not deleted". '\n';
}
У меня проблема, хотя. Файлы, которые успешно создаются в папке, не удаляются командой unlink — которая возвращает false.
Сервер apache работает на машине с Ubuntu. «Папку» разрешения 777, а также разрешения для этого сценария.
Файлы, созданные внутри папки, принадлежат пользователю: группа www-data. Его разрешения являются разрешениями по умолчанию.
Любые идеи о том, почему я сценарий не может удалить файлы, которые он сам создал?
Задача ещё не решена.
Других решений пока нет …