(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
stream_set_timeout — Define o limite de tempo em um fluxo
Define o valor limite de tempo no fluxo stream
,
expresso pela soma de seconds
e
microseconds
.
Quando o fluxo expira, a chave 'timed_out' do array retornado pela função
stream_get_meta_data() é definida para true
, embora
nenhum erro/aviso seja gerado.
stream
O fluxo alvo.
seconds
A parte em segundos do limite de tempo.
microseconds
A parte em microssegundos do limite de tempo.
Exemplo #1 Exemplo de stream_set_timeout()
<?php
$fp = fsockopen("www.example.com", 80);
if (!$fp) {
echo "Não foi possível abrir\n";
} else {
fwrite($fp, "GET / HTTP/1.0\r\n\r\n");
stream_set_timeout($fp, 2);
$res = fread($fp, 2000);
$info = stream_get_meta_data($fp);
fclose($fp);
if ($info['timed_out']) {
echo 'Conexão expirou!';
} else {
echo $res;
}
}
?>
Nota:
Esta função não funciona com operações avançadas como stream_socket_recvfrom(), em seu lugar use stream_select() com o parâmetro de limite de tempo.
Esta função anteriormente se chamava set_socket_timeout() e depois socket_set_timeout() mas esses usos foram descontinuados.