Conceptos Básicos de Secuencias

El uso de secuencias es bastante similar al uso de funciones stdio ANSI. La principal diferencia está en el modo en que obtiene en un principo el gestor de la secuencia. En la mayoría de casos, usted usará php_stream_open_wrapper() para obtener el gestor de secuencia. Esta función trabaja de forma muy similar a fopen, y puede apreciarse en el siguiente ejemplo:

Ejemplo 63-1. ejemplo simple de secuencia que despliega la página de inicio de PHP

php_stream * stream = php_stream_open_wrapper("http://www.php.net", "rb", REPORT_ERRORS, NULL);
if (stream) {
    while(!php_stream_eof(stream)) {
        char buf[1024];
        
        if (php_stream_gets(stream, buf, sizeof(buf))) {
            printf(buf);
        } else {
            break;
        }
    }
    php_stream_close(stream);
}

La tabla a continuación muestra los equivalentes de Secuencia a las funciones más comunes de stdio ANSI. A menos que se note lo contrario, las semánticas de las funciones son idénticas.

Tabla 63-1. Funciones equivalentes a stdio ANSI en la API de Secuencias

Función Stdio ANSIFunción de Secuencias PHPNotas
fopenphp_stream_open_wrapperLas secuencias incluyen parámetros opcionales
fclosephp_stream_close 
fgetsphp_stream_gets 
freadphp_stream_readSe asume que el parámetro nmemb tiene un valor de 1, así que el prototipo luce más como read(2)
fwritephp_stream_writeSe asume que el parámetro nmemb tiene un valor de 1, así que el prototipo luce más como write(2)
fseekphp_stream_seek 
ftellphp_stream_tell 
rewindphp_stream_rewind 
feofphp_stream_eof 
fgetcphp_stream_getc 
fputcphp_stream_putc 
fflushphp_stream_flush 
putsphp_stream_putsLa misma semántica que puts, NO fputs
fstatphp_stream_statLas secuencias tienen una estructura stat más rica

Hosting by: hurra.com
Generated: 2007-01-26 18:00:54