2013-07-19 60 views
0

我想實現一個程序,圖片和圖片的寬度恢復,以發送到在c + +程序進程。 我沒有問題在php代碼中恢復這些項目。 問題是當我發送這個變量在我的PHP exec函數。我嘗試了很多沒有結果的東西。預先感謝您的回覆。 Herebelow,我在php去年代碼:PHP - exec C++與參數

/* Stock picture to verify there is no problem */ 
$image=$_REQUEST['image']; 
$binary=base64_decode($image); 
header('Content-Type: bitmap; charset=utf-8'); 
$file = fopen('test.jpg', 'wb'); 
fwrite($file, $binary); 
fclose($file); 

/* We recuperate the width of the picture */ 
$width =$_REQUEST['width']; 

$parameter = $binary; 

//Send parameter to application 
exec("MyApp.exe test {$parameter} {$width}"); 
+0

'問題是當我發送這個變量'。你能形容它(問題)嗎? –

+0

看起來正確,什麼是(不)發生? –

+0

掛起,你試圖通過命令行參數傳遞圖像的二進制文件 - 這是行不通的。傳遞文件名並讀取文件! –

回答

0

看樣子你要發送的二進制數據作爲命令行,因爲一個PNG二進制文件只有一部分是在它的前面的標籤,這是所有將被髮送。

要運行

$parameter = "test.jpg"; 
exec("MyApp.exe test {$parameter} {$width}"); 

,或者你想運行:

$parameter = "test.jpg"; 
exec("MyApp.exe test {$image} {$width}"); 

所以要傳遞的base64編碼數據,而不是原始的二進制。