2015-04-05 90 views
0

我在PHP中使用了一个名为Intervention的图像处理库。这是一个很棒的库,但并不完全具备我需要的所有功能,特别是无损压缩。有一些命令行工具可以做到这一点,但我想要即时处理并将数据传递给浏览器,而不是将数据写入文件系统。从命令行传递文件到PHP stdin

我想拉的文件数据应该去一个文件直接喂给PHP,但我不熟悉的命令行知道如何“管道”的数据到PHP或如何让PHP读取数据。也许这样的事情:

use Intervention\Image\ImageManagerStatic as Image; 

$data = exec('optipng image.png >tophp'); 

$image_data = fopen('php://stdin', 'r'); 

$img = Image::make($image_data); 

//...do more stuff... 

echo $img->response(); 

我知道,显然不会工作,但有没有办法完成我想要做的?

回答

0

对于任何能够将图像数据返回到标准输出的命令行工具,可以使用shell_exec来捕获。然后,您可以将这些数据传递给Intervention。否则,您可以将数据保存到tmp文件,让PHP读取数据,然后删除该文件。