Intereting Posts
Как обернуть каждую новую строку в textarea с помощью тегов li? PHP Php по ссылке Сессия Facebook – NULL после аутентификации с помощью PHP SDK В PHP после назначения ресурса указателя файла переменной с помощью функции fopen (), как я могу получить имя файла из переменной? Самый простой способ активировать PHP и MySQL на Mac OS 10.6 (Snow Leopard), 10.7 (Lion), 10.8 (Mountain Lion)? Лучше ли фильтровать набор результатов с помощью предложения WHERE или с использованием кода приложения? Как запустить несколько php-скриптов в фоновом режиме на ubuntu? HTML5: загрузка файла AJAX с индикатором выполнения Curl, возвращающий «Идентификатор ресурса № 2» в качестве ответа, почему? Как я могу отправить запрос POST с пробелами? php – как изменить iframe разные src каждые 5 секунд рассчитать количество дней недели в диапазоне дат Какой метод предпочтительнее для проверки строки после импорта csv Метод перегрузки для пользовательского класса Ассоциативные массивы

Как обрабатывать изображения, отправленные мобильным устройством?

Мой сверстник разрабатывает приложение для iPhone, которое позволит пользователям размещать изображения на моем сайте через мой API. Я создаю часть API, которая будет принимать и обрабатывать изображения.

Мобильный разработчик отправляет такие заголовки:

Content-Disposition: form-data; name="photo_1"; filename="photo_1.jpg" Content-Type: application/octet-stream 

Когда вы ищете отправленные изображения, это тот же метод, что и для обычных HTML-форм? Должен ли я искать $ _FILES?

Или, используя PHP, как бы я нашел его образ?

Не похоже, что он отправляется через форму, т. <form enctype=multipart/form-data"> и <input type="file"> , поэтому массив $_FILES не будет заполнен.

Вам, вероятно, нужно будет прочитать:

 $HTTP_RAW_POST_DATA 

или выполните:

 $rawPost = file_get_contents("php://input"); 

Из руководства :

Вход php: // позволяет вам считывать необработанные данные из тела запроса. В случае запросов POST он предпочитает $ HTTP_RAW_POST_DATA, поскольку он не зависит от специальных директив php.ini. Более того, для тех случаев, когда по умолчанию HTTP_RAW_POST_DATA не заполняется по умолчанию, это потенциально менее энергоемкая альтернатива активации always_populate_raw_post_data. php: // вход не доступен с enctype = "multipart / form-data".

Для получения дополнительной информации, проверьте:

http://php.net/manual/en/wrappers.php.php

http://php.net/manual/en/reserved.variables.httprawpostdata.php

Я полагаю, что iOS отправляет весь файл как один блок данных в разделе POSTDATA HTTP-запроса. Вы можете получить всю POSTDATA (не разобранную):

 <?php $postdata = file_get_contents("php://input"); ?> 

$_FILES предназначен для чтения файлов, отправленных с помощью enctype="multipart/form-data" в надлежащей HTML-форме. iOS, вероятно, отправляет простой старый POST, содержащий только кучу байтов, которые представляют файл.

Скажи мне, если это решает!

См. Ответы на подобные вопросы (обработка загрузок из php://input ):

  • userland multipart / form-data handler, а также
  • Как проверить, является ли загруженный файл изображением? [файл, отправленный через API файлов HTML5, полученный через php: // input]