Forum und email

popen

(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.

Lista de parámetros

comando

El comando

modo

El modo

Valores retornados

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.

Ejemplos

Example#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:

Example#2 Ejemplo de popen()

<?php
error_reporting
(E_ALL);

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

Notes

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

Note: 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.

Warning

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".