PHPs move_uploaded_file не уважает setgid - PullRequest
0 голосов
/ 04 июня 2011

Я перемещаю завершенные загрузки с функцией move_uploaded_file. Я заметил, что это не касается бита setgid целевого каталога и имеет то, что изначально имел файл. (Я узнал, что это поведение Linux).

Что является хорошим решением проблемы? Я думал о загрузке файла в PHP и его повторном сохранении, но файлы могут быть довольно большими - 50 МБ +, что означает большее использование памяти для PHP.

Ответы [ 3 ]

1 голос
/ 04 июня 2011

Вы можете иметь или не иметь доступ к вызову system, но system("cp") или даже явный chgrp может делать то, что вы хотите, если вы подчиняетесь биту setgid. Возможно, вам придется выполнить некоторые проверки, чтобы получить существующую группу, если она варьируется от целевого каталога к целевому каталогу.

0 голосов
/ 23 августа 2014

Я имел эту проблему еще в начале 13 года и исправил ее, заменив move_uploaded_file на copy.Я не знаю о фактической производительности и влиянии памяти, но это, кажется, не имеет значения.

0 голосов
/ 19 октября 2011

Попробуйте встроенный в PHP переименовать вместо move_uploaded_file ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...