Загрузка файлов перетаскиванием PHP с помощью ExtJS

У меня есть виджет, который я использую, который выполняет запрос к методу, который я создал в контроллере Zend. Пользователь загружает изображение на сервер, а файл jpeg отправляется на сервер POST в теле запроса.

Как вы получаете доступ к этому на стороне PHP? Я просмотрел $_POST, $HTTP_RAW_POST_DATA (после установки параметра php.ini), $_FILES и попробовал:

$data = file_get_contents( 'php://input' );

Все эти глобальные переменные и переменные пусты. Я использую прокси-сервер charles, и вы можете увидеть в нем запрос и двоичные данные изображения. Я скину скриншот, как только смогу (imgur не работает).

введите здесь описание изображения

Изменить: Скриншот

Изменить: я получаю куда-то:

public function filesAction() {

        $request = $this->getRequest();
        $params  = $request->getParams();

        if ( $request->isPost() ) {

                    $httpContent = fopen( 'php://input', 'r' );
                    echo stream_get_contents( $httpContent );

        }
}

Это возвращает мне двоичные данные обратно в ответ сейчас, мне просто нужно использовать fwrite() или что-то подобное для создания образа на сервере, а затем я могу перейти к FTP, где он должен идти.


person Caley Woods    schedule 09.10.2012    source источник
comment
Поскольку вы используете ZF, возвращает ли $this->getRequest()->getRawBody(); данные из загрузки изображения?   -  person drew010    schedule 10.10.2012
comment
возможный дубликат Что лучше способ создать форму загрузки одного файла с помощью PHP?   -  person Neil McGuigan    schedule 10.10.2012
comment
@NeilMcGuigan Не дубликат, это отправляет двоичные данные через XHR и не будет заполнять $_FILES, данные должны быть прочитаны из потока и загружены из нескольких файлов путем перетаскивания.   -  person Caley Woods    schedule 10.10.2012
comment
@ drew010 Нет, я посмотрел на getRawBody (), и пока он тоже пуст. Я пробовал использовать php://input и read_stream_contents, и это тоже не работает.   -  person Caley Woods    schedule 10.10.2012