2014-07-23 4 views
0

내가 시간 초과가 발생하면 내가PHP FREAD 캐치 스트림 시간 제한

socket_set_timeout($fh,10); 

와 스트림에 대한 시간 제한을 설정

$fh=fopen('http://.....'); 

연 스트림에서 데이터를 읽을 수있는 PHP 함수 FREAD를 사용하는 일이 fread 실행하는 동안 나는 어떻게 든 이것에 대해 알 수 있습니까?

$contents = fread($fh, 1024); 

시간 초과가 발생하면 $ 내용은 빈 문자열 또는 FALSE가됩니까? 그 시간 초과가 어떻게 일어 났는지 아는 법? 방법이 있니? the doc page for that function 따르면

답변

1

없음 에러/경고 발생 은 없지만

아웃 스트림 시간 배열의 'TIMED_OUT'키 stream_get_meta_data 의해 반환

() TRUE로 설정된다.

따라서 오류/경고가 생성되지 않지만 stream_get_meta_data에서 출력을 검사하면 단서가됩니다.

0

false을 반환하는 socket_read()과 달리 fread()는 시간 초과가 발생하면 '' (빈 문자열)을 반환합니다.