Я хочу прочитать файл в запрос PUT. Как предлагается в документации PHP:
<?php
/* PUT data comes in on the stdin stream */
$putdata = fopen("php://input", "r");
/* Open a file for writing */
$fp = fopen("myputfile.ext", "w");
/* Read the data 1 KB at a time
and write to the file */
while ($data = fread($putdata, 1024))
fwrite($fp, $data);
/* Close the streams */
fclose($fp);
fclose($putdata);
?>
Но когда отправленный файл меньше 1 КБ, он не читается. Кто-нибудь знает об этом специфическом поведении фреда в PHP?
Спасибо!
Даже когда условие while изменяется на
while($data=fread($putdata, 512))
это не идет внутри петли. Я не знаю его специфического поведения, но разве этот хэш не поддерживает чанк меньше 1024? Просто любопытно!
stream_get_contents ($ fp) сработало! Он вернул содержимое уже открытого потока (в данном случае $ fp) в виде строки в одном кадре.
Спасибо всем за ваши предложения 🙂
Других решений пока нет …