我正在使用
@system('zip -P password archive.zip workbook.xls');
要生成使用密码保护的zip存档,之后我想将用户重定向到另一个页面。我不能这样做,因为它显示的输出如下:"添加:工作簿.xls(放气 91%)"而且我收到错误"标题已发送"。
如何使此功能不显示该输出?
@
符号仅用于抑制错误,程序发送错误消息的"通道"与正常输出的"通道"不同。(stderr
,stdout
)。
还有其他函数与system
相同但不输出stdout
:
shell_exec();
http://php.net/system -
exec() - Execute an external program
passthru() - Execute an external program and display raw output
popen() - Opens process file pointer
escapeshellcmd() - Escape shell metacharacters
pcntl_exec() - Executes specified program in current process space
backtick operator
如果你想创建一个zip文件,已经有一个Zip模块可以帮助你。请参阅此处以获取更多详细信息和示例。