Не удается загрузить файл на IIS - PullRequest
4 голосов
/ 16 ноября 2010

Я нахожусь на общем хостинге с GoDaddy, это сервер Windows, и я получаю эту ошибку при попытке загрузить файл:

Warning: move_uploaded_file(D:\Hosting\6903\html\pdfs\ALDOmypdfAP.pdf) [function.move-uploaded-file]: failed to open stream: Permission denied in D:\Hosting\6903\html\back.php on line 436

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'D:\Temp\php\php98C.tmp' to 'D:\Hosting\6903\html\pdfs\ALDOmypdfAP.pdf

Я слышал, что я могу установить свой php.iniфайл, чтобы изменить каталог, в который он немедленно загружается, и это будет работать, однако я не могу получить доступ к своему файлу php.ini.

Я попытался создать свой собственный файл php.ini в корне моегокаталог, и это вызывает все виды проблем, таких как не найти правильные файлы конфигурации MySQL, поддержка goDaddy в этом заключается в том, чтобы удалить пользовательский файл php.ini, смешно, я знаю.

Я пытался использоватьini_set вот так

ini_set('upload_tmp_dir', 'D:/Hosting/6903/html/pdfs/');

Но это не дало никакого эффекта.У меня есть другие варианты здесь?Спасибо!

ОБНОВЛЕНИЕ: В Coda октальные разрешения считывают 777 каталога назначения.

Ответы [ 5 ]

4 голосов
/ 22 ноября 2010

Насколько я знаю, вам нужно дать разрешения на запись в учетной записи IUSR_MACHINENAME специально для той папки, в которую вы пытаетесь записать, иначе это не удастся. Я не знаю, что такое Coda, но может ли он позволить вам устанавливать разрешения для конкретных пользователей?

3 голосов
/ 31 декабря 2013

Была похожая проблема.

Исправлено, предоставив все разрешения группе пользователей «Аутентифицированный пользователь».

Мне понадобилось пару часов, чтобы понять это. Этот пост вроде подсказал мне.

Надеюсь, моя доля поможет другим.

0 голосов
/ 06 января 2017

Может быть, это может помочь ...

  1. Найдите и откройте php.ini в папке PHP (в моем случае c:\Program files(86)\PHP)

  2. Найдите слово upload_tmp_dir и выполните одно из двух действий

- Возможности 1

3,1 комплект upload_tmp_dir = "[Some folder with full permission for IUSR user]"

- Возможности 2

3.2 Поиск в проводнике Windows для папки, которая установлена ​​в upload_tmp_dir (в моем случае C:\WINDOWS\Temp)

3.2.1 Щелкните правой кнопкой мыши C:\WINDOWS\Temp -> Свойства -> Безопасность -> Кнопка Изменить -> Добавить, затем добавьте пользователя IUSR и установите для него полные разрешения -> Кнопка Принять.

Я думаю, что это может кому-то помочь.

0 голосов
/ 04 июня 2014

@ Talha - «Исправлено путем предоставления всех разрешений группе пользователей« Прошедший проверку ». это единственное решение, которое сработало. других решений нет. предоставление разрешения IIS_USR, пользователю NETWORK и т. д. ничего не помогало.

Спасибо за решение

0 голосов
/ 16 ноября 2010

Возможно, проблема в конечном конечном каталоге, а не во временном.

Обычно, если файл вообще не может быть загружен, $_FILES['yourfile']['error'] будет установлено в UPLOAD_ERR_CANT_WRITE (7). Из сообщения об ошибке говорится, что проблема в том, что move_uploaded_file не может ни прочитать из временного каталога (маловероятно), ни записать в каталог назначения (скорее всего).

Проверьте и, возможно, попробуйте изменить разрешения для каталога назначения.

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