Нечетные разрешения для файла, измененного PHP move_uploaded_file()

StackOverflow https://stackoverflow.com/questions/205822

  •  03-07-2019
  •  | 
  •  

Вопрос

Я использую PHP 5.2.6 на компьютере с Windows Server 2003 Enterprise.IIS настроен на запрет анонимного доступа и использование встроенной проверки подлинности Windows.

Я использую PHP-скрипт для сохранения файла, загруженного из веб-формы.Файл загружается во временную папку, сценарий создает имя и путь к файлу в зависимости от других переменных из веб-формы, а затем сценарий использует PHP move_uploaded_file() для перемещения временного файла в конечное место.Все это работает нормально.Короче говоря, люди загружают файлы, чтобы все в группе могли их видеть, и файлы упорядочиваются по сценарию.

Моя проблема в том, что файл в конечном местоположении имеет нечетные разрешения.Он не получает разрешений ни из временного, ни из конечного местоположения.И временное, и конечное расположение имеют одинаковые разрешения:полные права владельца и администрации;чтение и чтение/выполнение для двух конкретных групп безопасности AD.В конечном файле будет только:полные права владельца и администрации.Таким образом, хотя администраторы и первоначальный загрузчик не имеют проблем с просмотром файла, всем остальным в группе при попытке доступа к нему отказано в доступе.

Любые идеи и предложения будут с благодарностью приняты!Спасибо!

Это было полезно?

Решение

Похоже, это проблема с move_uploaded_file() функция:
http://us3.php.net/move_uploaded_file
Взгляните на комментарии ниже, обратите внимание на комментарий Флориана о copy().

Будет ли copy() решить проблему?:
http://us3.php.net/manual/en/function.copy.php

Другие советы

со страницы php в move_uploaded_file (примечание:это сработало для меня):

Тем, кто использует PHP в Windows и IIS, вам СЛЕДУЕТ установить значение «upload_tmp_dir» в php.ini для некоторого каталога, где находится каталог вашего веб-сайта, создать этот каталог, а затем установить для него те же разрешения, которые вы установили для своих веб-сайтов. каталог.В противном случае, когда вы загружаете файл и он попадает в C:\WINDOWS emp, а затем перемещаете его в каталог своего веб-сайта, его разрешения НЕ будут установлены правильно.Это вызовет у вас проблемы, если вы затем захотите манипулировать этим файлом с помощью чего-то вроде утилиты преобразования ImageMagick.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top