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: When safe mode is enabled, you can only execute executables within the safe_mode_exec_dir. For practical reasons it is currently not allowed to have .. components in the path to the executable.

Aviso

With safe mode enabled, all words following the initial command string are treated as a single argument. Thus, echo y | echo x becomes echo "y | echo x".

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