php_stream_make_seekable

(no version information, might be only in CVS)

php_stream_make_seekable -- Convertir una secuencia a una secuencia reubicable

Descripción

int php_stream_make_seekable ( php_stream * secuencia_origen, php_stream ** secuencia_nueva, int banderas )

php_stream_make_seekable() chequea si secuencia_origen es reubicable. Si no lo es, copiará los datos en una nueva secuencia temporal. Si tiene éxito, secuencia_nueva es siempre definida como la secuencia de uso válido, incluso cuando la secuencia original era reubicable.

banderas le permite especificar sus preferencias para la secuencia reubicable que es devuelta: use PHP_STREAM_NO_PREFERENCE para usar la secuencia reubicable predeterminada (que usa un búfer de memoria expansible dinámicamente, pero cambia a un tipo de almacenamiento respaldado en un archivo temporal cuando el tamaño de la secuencia se hace más largo), o use PHP_STREAM_PREFER_STDIO para indicar el tipo de almacenamiento "regular", respaldado en un archivo temporal.

Tabla 1. Valores de retorno de php_stream_make_seekable()

ValorSignificado
PHP_STREAM_UNCHANGEDLa secuencia original era reubicable en cualquier caso. secuencia_nueva es definida al valor de seuencia_original.
PHP_STREAM_RELEASEDLa secuencia original no era reubicable y ha sido liberada. secuencia_nueva es definida como la nueva secuencia reubicable. Usted no debe usar más valor de secuencia_original.
PHP_STREAM_FAILEDUn error ocurrió mientras se intentaba la conversión. secuencia_nueva se define como NULL; secuencia_original sigue siendo válida.
PHP_STREAM_CRITICAL Un error ocurrión durante el intento de conversión que ha dejado a secuencia_original en un estado indeterminado. secuencia_nueva se define como NULL y es altamente recomendable que usted cierre secuencia_original.

Nota: Si necesita reubicar y escribir a la secuencia, no tiene sentido que use esta función, ya que no se garantiza que la secuencia que devuelve esté asociada con el mismo recurso que la secuencia original.

Nota: Si sólo necesita hacer búsquedas de posición hacia adelante, no hay necesidad de llamar esta función, ya que la API de secuencias emulará las reubicaciones hacia adelante cuando el parámetro a_partir_de es SEEK_CUR.

Nota: Si secuencia_original es basada en red, esta función creará un bloqueo hasta que los contenidos completos hayan sido descargados.

Nota: ¡NUNCA llame esta función con una secuencia_original que sea una referencia por un apuntador de archivo en un script PHP! ¡Esta función puede causar que la secuencia interna sea cerrada, cosa que causaría un fallo en el programa cuando el script acceda nuevamente al apuntador de archivo!

Nota: En muchos casos, esta función sólo puede tener éxito cuando secuencia_original es una secuencia abierta recientemente sin datos en búfer en la capa de la secuencia. Por esa razón, y dado que es difícial usar correctamente esta función, es recomendable que use php_stream_open_wrapper() y pase el valor PHP_STREAM_MUST_SEEK en sus opciones en lugar de llamar esta función directamente.

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