2016-03-02 3 views
2

Я использую этот кодКак я могу загрузить файл в папку лазурного Wwwroot

move_uploaded_file($file_tmp,$us_id.".jpg");

, но после запуска этого сценария это не ошибка, но файл не появляется в папке, как это может сделать?

перед этим, я тестирую в localhost, это работает.

+0

Убедитесь, что папка доступна для записи для пользователя сети? – Epodax

+0

как я могу проверить –

+0

Не знаю, никогда не играл с лазурной линией до – Epodax

ответ

0

Отредактированные на основе @ комментарии Дэвида и Куду-х Azure runtime environment

В среде Cloud, сохранение файлов в текущей файловой системе вашего Web App не рекомендуется. Если вы просто загружаете свой сайт через FTP, у вас могут не возникнуть проблемы, но если вы полагаетесь на Continuous Integration или сценарии автоматического развертывания, папка вашего сайта может измениться или будет перезаписан контент.

Именно поэтому для хранения файлов, которые должны быть доступны в будущем или должны быть сохранены навсегда, вы можете использовать что-то вроде Azure Blob Storage. Не только действительно дешево, но вы можете применить CDN поверх него для улучшения доставки файлов.

Вот как use it on PHP и Azure SDK for PHP.

+0

Это не отвечает на вопрос, который задал ОП: вы предлагаете использовать капли вместо хранилища веб-приложений для долговечности. У веб-приложений есть собственное хранилище, находящееся в сетевом ресурсе, разделяемое между всеми работающими экземплярами и долговечное (я не имею в виду локальное хранилище с нуля). Если вы вообще не удалите свое веб-приложение, ваше хранилище никуда не денется. Все под 'd: \ home \ site' находится на этом прочном ресурсе, а не на локальном диске с нуля. –

+0

Неправильно. Прочная доля не делится между собой, если контейнер упадет, а новая копия займет свое место и не увеличит/уменьшит масштаб, вы не можете полагаться на него для загрузки. OP спрашивает, почему загруженный файл не появляется в папке, если исходный код PHP правильно (нет доказательств полного кода), я объясняю, что в парадигме Cloud не рекомендуется полагаться на файловую систему , файл не может быть там, потому что сервер, обслуживающий этот запрос, может не быть тем же сервером, который обрабатывал загрузку, даже если его код может быть правильным. –

+1

Для Azure Web Apps (ранее веб-сайтов) это действительно то, как все работает. –

0

Вы не указали, что $file_tmp содержит, но ... в Azure Web App корневая папка находится на d:\home\site\wwwroot. И вы найдете переменную окружения %HOME%, установленную на d:\home.

0

Как я использовать свой код на Azure window sever can't upload file from php в моем тестовом проекте, она прекрасно работает на моей стороне, даже я не ценю $us_id в вашем коде, картина все еще обновляется в папку uploadimg с именем .jpg.

Я подозреваю, достигло ли ваше дисковое пространство вашего веб-приложения ограничения вашего плана App Service.

Поскольку каждый уровень цен на услуги приложений имеет ограниченное дисковое пространство и будет использоваться во всех веб-приложениях в этом плане обслуживания приложений. Вы можете проверить метрику на странице панели инструментов портала веб-приложений, например. enter image description here

Подробнее см. https://azure.microsoft.com/en-us/pricing/details/app-service/.

Смежные вопросы