stream_set_timeout

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_set_timeoutDefine o limite de tempo em um fluxo

Descrição

stream_set_timeout(resource $stream, int $seconds, int $microseconds = 0): bool

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.

Parâmetros

stream

O fluxo alvo.

seconds

A parte em segundos do limite de tempo.

microseconds

A parte em microssegundos do limite de tempo.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Example #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;
    }

}
?>

Notas

Note:

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 estão defasados.

Veja Também

  • fsockopen() - Abre uma conexão socket de domínio Unix ou de Internet
  • fopen() - Abre um arquivo ou URL