Как обрабатывать изображения, отправленные с мобильного устройства? - PullRequest
2 голосов
/ 05 мая 2011

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

Разработчик мобильных приложений отправляет заголовки, например:

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

При поиске отправленных изображений это тот же метод, что и в обычных HTML-формах? Стоит ли искать $ _FILES?

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

Ответы [ 3 ]

2 голосов
/ 05 мая 2011

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

Возможно, вам нужно прочитать:

$HTTP_RAW_POST_DATA

или сделайте:

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

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

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

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

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

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

1 голос
/ 05 мая 2011
1 голос
/ 05 мая 2011

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

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

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

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

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