Нечетные разрешения для файла, измененного PHP move_uploaded_file()
-
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.