Файл загрузки к nginx серверу через форму php/html

Двоичные файлы Подверсии WAndisco имеют возможность автоматического обновления:

Бесплатная загрузка: http://www.wandisco.com/subversion/os/downloads

1
задан 12 February 2013 в 21:23
2 ответа

Поскольку $ _ FILES ['fieldname'] ['errors'] содержит 0 (что составляет UPLOAD_ERR_OK ), фактическая загрузка прошла успешно. Что не удается, так это попытка переместить временный файл в указанное вами место, поэтому move_uploaded_file () возвращает false. Вы делаете что-то вроде этого:

move_uploaded_file($_FILES['fieldname']['tmp_name'], '/srv/www/uploads')

Наиболее вероятная проблема в том, что PHP не имеет разрешения на запись в каталог, который вы указали вторым параметром. Узнайте, от имени какого пользователя работает PHP (возможно, что-то вроде www-data ), и убедитесь, что у этого пользователя есть разрешение на запись:

chown -R www-data /srv/www/uploads
chmod -R u=rwX,g=rwX,o=rX /srv/www/uploads
1
ответ дан 4 December 2019 в 00:48

Существуют специальные модули, необходимые для обработки индикаторов выполнения и т.п. через nginx. Не требуется ничего , если функция прогрессивного обновления не требуется.

Скорее всего, вам потребуется создать специальный каталог для загрузки с другими разрешениями. chmod 1770 / path / to / upload_dir подойдет в большинстве случаев.

Официальная документация, скорее всего, не будет рекомендовать один способ по сравнению с другим из-за довольно серьезных последствий для безопасности, связанных с разрешением загрузки на тот же сервер, с которого PHP читает файлы. выполнить. Если они рекомендуют один способ, и он окажется уязвимым, они могут почувствовать ответственность.

Как только он заработает, проверьте и убедитесь, что вы не можете загрузить файл .php, а затем вызовите его через простой URL-адрес. .

0
ответ дан 4 December 2019 в 00:48

Теги

Похожие вопросы