我使用PHP函数read从以
打开的流中读取数据$fh=fopen('http://.....');
i设置流的超时时间
socket_set_timeout($fh,10);
如果超时发生在读取执行期间,那么我可以知道这一点吗?
$contents = fread($fh, 1024);
如果超时发生,那么$contents是否等于空字符串或FALSE ?如何知道超时发生了?有办法吗?
根据该函数的文档页:
当流超时时,返回数组的' time_out '键by stream_get_meta_data()被设置为TRUE,尽管没有错误/警告生成。
因此没有生成错误/警告,但是检查stream_get_meta_data
的输出将给您一个线索。
fread()将在超时时返回''
(空字符串),不像socket_read()
返回false
。