我有一个PHP Yii2网络应用程序,该应用程序使用passthru()
运行命令行脚本。 passthru()
的结果应传递到下载的文件中,以便用户可以下载passthru()
的输出。
示例:
如果我执行以下命令行:
$ /bin/cat /PATH/pic.jpg > output.jpg
...我得到一个文件output.jpg
,它与pic.jpg
相同(相同的md5校验和)
但是我需要在Web应用程序中执行此机制:
如果我使用passthru()
进行了同样的操作,以便将文件发送到用户浏览器:
header("Cache-Control: private");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=download.jpg");
passthru ('/bin/cat /PATH/pic.jpg');
....然后我得到一个download.jpg
,它与pic.jpg
不同
在此示例情况下,download.jpg
小1126字节(图片大小约为13MByte),并且在某些图片查看器中无法打开图片。