пятница, 6 февраля 2009 г.

SUPHP и загрузка файла на сайт

Столкнулся с тем, что после загрузки на сайт файл недоступен для просмотра. Владельцем файлу назначается владелец вызываемого скрипта, но с правами доступа на чтение/запись только владельцу. В результате веб-сервер не может его прочитать. Пробовал поиграться с параметрами в «suphp.conf» — безрезультатно.
Решил проблему таким образом. Создал файл «/etc/php5/prepend.inc» и в «php.ini» путь к нему присвоил параметру «auto_prepend_file»

<?php
if (!empty($_FILES)) {
function __xxx4pre_fix_upload_umask(& $files) {
if (is_array($files)) {
foreach ($files AS & $file)
__xxx4pre_fix_upload_umask($file);
}
else {
if (is_uploaded_file($files))
chmod($files, 0644);
}
}

__xxx4pre_fix_upload_umask($_FILES);
}
Теперь у загруженных файлов права доступа будут принудительно меняться на «0644».

Комментариев нет: