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

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

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

  1. <?php
  2. if (!empty($_FILES)) {
  3. function __xxx4pre_fix_upload_umask(& $files) {
  4. if (is_array($files)) {
  5. foreach ($files AS & $file)
  6. __xxx4pre_fix_upload_umask($file);
  7. }
  8. else {
  9. if (is_uploaded_file($files))
  10. chmod($files, 0644);
  11. }
  12. }
  13. __xxx4pre_fix_upload_umask($_FILES);
  14. }
Теперь у загруженных файлов права доступа будут принудительно меняться на «0644».

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