2015-04-05 94 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讀取數據,然後刪除該文件。