Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] Почему stream_get_contents читает 0 байт из потока? / 11 сообщений из 11, страница 1 из 1
08.10.2013, 15:35
    #38420492
Electric200
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Почему stream_get_contents читает 0 байт из потока?
Всем привет.
Ситуация, выбираю бинарные данные с потока STDIN.

Код: php
1.
2.
3.
4.
5.
$ff = fopen('log.bin','ab');

while(!feof(STDIN)) {
 fwrite($ff,stream_get_contents(STDIN,1));
}


Бывают случаи, что итерация цикла выполняется, при этом log.bin пустой. (0 байт).
У меня вопрос, на каком тогда основании feof возвращает TRUE если данных на потоке нет? Или же если они есть, то почему stream_get_contents не возвращает 1 байт данных потока? Самое интересное что такая ситуация проявляется рандомно как то. а 90% все работает. Пробовал и stream_select для проверки изменения на потоке - тоже самое.
Вообще загадка какая то.
...
Рейтинг: 0 / 0
08.10.2013, 15:36
    #38420495
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Почему stream_get_contents читает 0 байт из потока?
...
Рейтинг: 0 / 0
08.10.2013, 15:48
    #38420512
Electric200
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Почему stream_get_contents читает 0 байт из потока?
ScareCrow - вы что бот на форуме написанный для разбрасывания ссылок на доку по любым темам? Тогда самоуничтожтесь если вы бот, а если нет, то дайте нормальный ответ, как и все адекватные люди.
...
Рейтинг: 0 / 0
08.10.2013, 15:49
    #38420516
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Почему stream_get_contents читает 0 байт из потока?
а скажите - адекватные люди читают документацию?
...
Рейтинг: 0 / 0
08.10.2013, 16:07
    #38420538
Electric200
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Почему stream_get_contents читает 0 байт из потока?
ScareCrow - вам пофлудить охота? У вас есть, что сказать по теме? Если нет, то проходим мимо.
...
Рейтинг: 0 / 0
08.10.2013, 16:32
    #38420591
Electric200
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Почему stream_get_contents читает 0 байт из потока?
Извиняюсь за не корректное указание темы.
...
Рейтинг: 0 / 0
08.10.2013, 17:32
    #38420674
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Почему stream_get_contents читает 0 байт из потока?
Electric200, ну и откуда вы это запускаете? stdin это ввод с консоли?
...
Рейтинг: 0 / 0
08.10.2013, 18:09
    #38420732
Electric200
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Почему stream_get_contents читает 0 байт из потока?
Некая тулза передает мне поток с сокета. Собственно в STDIN я получаю данные с сокета.
...
Рейтинг: 0 / 0
09.10.2013, 07:22
    #38421043
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Почему stream_get_contents читает 0 байт из потока?
feof() не проверяет наличие данных. В случае сокета - это проверка, что другая сторона сокет не закрыла.
...
Рейтинг: 0 / 0
09.10.2013, 11:10
    #38421232
Electric200
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Почему stream_get_contents читает 0 байт из потока?
т.е проверяет что поток открыт? Ок. как мне тогда корректно проверять есть ли новые данные на потоке?
...
Рейтинг: 0 / 0
09.10.2013, 11:23
    #38421253
?
?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Почему stream_get_contents читает 0 байт из потока?
Electric200т.е проверяет что поток открыт? Ок. как мне тогда корректно проверять есть ли новые данные на потоке?
Пытаться их прочитать
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] Почему stream_get_contents читает 0 байт из потока? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]