passthru

(PHP 3, PHP 4, PHP 5)

passthru -- Execute an external program and display raw output

说明

void passthru ( string command [, int &return_var] )

The passthru() function is similar to the exec() function in that it executes a command. This function should be used in place of exec() or system() when the output from the Unix command is binary data which needs to be passed directly back to the browser. A common use for this is to execute something like the pbmplus utilities that can output an image stream directly. By setting the Content-type to image/gif and then calling a pbmplus program to output a gif, you can create PHP scripts that output images directly.

参数

command

The command that will be executed.

return_var

If the return_var argument is present, the return status of the Unix command will be placed here.

注释

警告

如果想允许用户输入的数据被传入本函数,则应使用 escapeshellarg()escapeshellcmd() 函数来确保用户不能欺骗系统从而执行任意命令。

注: 如果用本函数启动一个程序并希望保持在后台运行,必须确保该程序的输出被重定向到一个文件或者其它输出流去,否则 PHP 会在程序执行结束前挂起。

注: 在打开了安全模式时,只能执行在 safe_mode_exec_dir 之内的程序。为实用起见目前不能在指向程序的路径中包含 .. 成分。

警告

在打开了安全模式时,初始命令字符串之后的所有词都被看成一个单一的参数。因此,echo y | echo x 就成了 echo "y | echo x"