0

我正在尝试实现一个恢复图片和图片宽度的程序,以便发送到 c++ 程序中的处理。我在 php 代码中恢复这些项目没有问题。问题是当我在我的 php exec 函数中发送这个变量时。我已经尝试了很多没有结果的事情。预先感谢您的回复。下面是我在 php 中的最后一个代码:

/* 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}");
4

1 回答 1

0

看来您正在将二进制数据作为命令行发送,因为 PNG 二进制文件的唯一部分是它前面的标签,这就是将要发送的全部内容。

你想跑

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

或者,您想运行:

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

这样您就可以传递 base64 编码的数据,而不是原始二进制文件。

于 2013-07-19T12:39:29.930 回答