popen

(PHP 3, PHP 4, PHP 5)

popen -- Abre un apuntador de archivo de proceso

Descripción

resource popen ( string comando, string modo )

Abre un pipe con un proceso ejecutado al bifurcar el comando dado en el primer parámetro.

Devuelve un apuntador de archivo idéntico al devuelto por fopen(), con la excepción de que es unidireccional (puede ser usado sólo para lectura o escritura) y debe ser cerrado con pclose(). Este apuntador puede ser usado con fgets(), fgetss(), y fwrite().

Si ocurre un error, se devuelve FALSE.

Nota: Si está buscando soporte bidireccional (en dos vías), use proc_open().

Ejemplo 1. Ejemplo de popen()

<?php
$gestor
= popen("/bin/ls", "r");
?>

Si el comando a ser ejecutado no es encontrado, se devuelve un recurso válido. Esto puede parecer extraño, pero tiene sentido; le permite acceder a cualquier mensaje de error devuelto por el intérprete de comandos:

<?php
error_reporting
(E_ALL);

/* Agregar redireccion de modo que tengamos stderr. */
$gestor = popen('/ruta/hacia/basura 2>&1', 'r');
echo
"'$gestor'; " . gettype($gestor) . "\n";
$read = fread($gestor, 2096);
echo
$read;
pclose($gestor);
?>

Nota: Cuando safe mode esta activado, solamente se pueden ejecutar los programas que se encuentren en safe_mode_exec_dir. Por razones practicas, no se permite el uso de .. en el PATH del programa.

Aviso

Con safe mode activado, todas las palabras que siguan al comando inicial son tratadas como un solo argumento. Asi, echo y | echo x se interpreta como echo "y | echo x".

Vea también pclose(), fopen(), y proc_open().

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