任何人请告诉我。我想知道exec()
,shell_exec
,system()
和passthru()
函数之间的差异吗?
我从php.net搜索无法得到我需要的答案。
答案 0 :(得分:60)
exec
仅返回生成的输出的最后一行。shell_exec
返回命令的完整输出。 system
会立即显示所有输出,并用于显示文字。 passthru
也会立即返回输出,但用于二进制数据。 passthru
显示原始数据。 同时使用exec
和shell_exec
可以自行处理输出,而system
和passthru
则不允许您自定义输出并立即显示输出。
可以找到更详细的比较here。
答案 1 :(得分:3)
passthru用于返回二进制数据而不是ascii。一个典型的例子是图像处理程序返回图像而不是文本数据。
有关详细信息,请参阅PHP - exec() vs system() vs passthru()