@Wolfak

Как обработать поток данных в PHP?

Разрабатываю приложение для Windows Phone на WinJS и возникла необходимость в разгрузке файла (изображение или видео) на PHP сервер так как приложение это клиент сайта.
Единственное API по загрузке файлов на сервер в Windows Phone передает через заголовок headers название файла, его можно получить так:
$headersCont = apache_request_headers();
$headersCont[Filename] - имя файла

А сам файл передает через поток данных. Каким образом можно получить это изображение и перенести в нужную папку на PHP сервере?

Вот так выводит только текст Resource #6
$hSource = fopen('php://input', 'r');
echo $hSource;


Может быть я что-то недопонимаю, вот ссылку на статью с API:
https://msdn.microsoft.com/ru-ru/library/windows/a...

Спасибо за вашу помощь.
  • Вопрос задан
  • 1680 просмотров
Решения вопроса 1
sanchezzzhak
@sanchezzzhak
Ля ля ля...
fopen открывает поток(handle) на чтение/запись и возглашает ресурс
__DIR__ ткущая папка где скрипт
// читаем
$rawData = file_get_contents("php://input");
// пишем
$pathUploadDir = __DIR__ . "/uploadDir"
file_put_contents($pathUploadDir . '/' . $fileName ,  $rawData );
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Пример построчного чтения
$lines = array();
$fileHandler = fopen("php://stdin", "r"); 	
while( !feof($fileHandler) AND ($line! = '') ) { 
  $lines[] = fgets($fileHandler,255); 
} 
fclose($fileHandler);

print_r($lines);


Для изображений пожалуй лучше не построчно, а блоками
php.net/manual/ru/function.fread.php
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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