El sistema () Función
La función del sistema en PHP toma un argumento de cadena con el comando para ejecutar, así como cualquier argumento que desee pasar a ese comando. Esta función ejecuta el comando especificado y descarga cualquier texto resultante en la secuencia de salida (ya sea la salida HTTP en una situación de servidor web o la consola si está ejecutando PHP como una herramienta de línea de comandos). El retorno de esta función es la última línea de salida del programa, si emite salida de texto.
El exec () Función
La función del sistema es bastante útil y potente, pero uno de los mayores problemas es que todo el texto resultante del programa va directamente al flujo de salida. Habrá situaciones en las que le gustaría formatear el texto resultante y mostrarlo de una manera diferente, o no mostrarlo en absoluto.
Para esto, la función exec en PHP está perfectamente adaptada. En lugar de volcar automáticamente todo el texto generado por el programa que se ejecuta en la secuencia de salida, le da la oportunidad de colocar este texto en una matriz devuelta en el segundo parámetro de la función:
El shell_exec () Función
La mayoría de los programas que hemos estado ejecutando hasta ahora han sido, más o menos, programas reales1. Sin embargo, el entorno en el que operan los usuarios de Windows y Unix es en realidad mucho más rico que esto. Los usuarios de Windows tienen la opción de usar el programa Símbolo del sistema de Windows, cmd.exe. Este programa se conoce como un shell de comandos.
El tránsito () Función
Una función fascinante que PHP proporciona similar a las que hemos visto hasta ahora es la función passthru. Esta función, como las otras, ejecuta el programa que le indica. Sin embargo, luego procede a enviar inmediatamente la salida sin formato de este programa a la secuencia de salida con la que PHP está trabajando actualmente (es decir, HTTP en un escenario de servidor web o el shell en una versión de línea de comando de PHP).
El proc_open () Función y popen ()
la función
proc_open () es similar a popen () pero proporciona un mayor grado de control sobre la ejecución del programa. cmd es el comando que debe ejecutar el shell. descriptorspec es una matriz indexada donde la clave representa el número de descriptor y el valor representa cómo PHP pasará ese descriptor al proceso secundario. las canalizaciones se establecerán en una matriz indexada de punteros de archivos que corresponden al final de PHP de cualquier canalización que se cree. El valor de retorno es un recurso que representa el proceso; debe liberarlo usando proc_close () cuando haya terminado con él.
proc_open()
ypopen()
, ambos permiten un mayor grado de control sobre el proceso generado.