私は、スタンドアロンの勝利アプリとコンソールアプリにmatlabスクリプトをコンパイルしました。このスクリプトは、image_process pic1.pngを使用してコマンドラインから呼び出すことができます。 exeが実行され、結果として文字列が生成されます。 いいえPHPでデプロイしたいです。私はメインのウェブサイトのディレクトリにアップロードと呼ばれるフォルダを追加しました。私は、このフォルダ内の画像上で実行するために、MATLAB EXEを呼び出すためにPHPを実行する必要があります。PHPからmatlab exeがうまく動作しない
私は私のPHPスクリプトに行きます。私は私のアップロードディレクトリを定義します。
define("UPLOAD_DIRECTORY","./uploads"); // defines the uploads directory
その後、私は私のイメージプロセッサへのパスを追加します。 ( "IMAGE_PROCESSORE"、のdirname(dirnameは(FILE)) "/ image_process.exeを"。)定義します。最後に
私がように私のプロセスを設定:私はのように私のPHPを呼び出すときに
case "process":
$res=array();
$pic=isset($_REQUEST["pic"])?trim($_REQUEST["pic"]):"";
if($pic==""){
echo "No picture name is passed";
exit();
}
exec(IMAGE_PROCESSORE.' "'.realpath(UPLOAD_DIRECTORY).'" '.$pic,$res);
//exec(IMAGE_PROCESSORE." ".$pic,$res); // this one if I define the image_process.exe inside the uploads folder
echo"<pre>";
print_r($res);
echo"</pre>";
break;
:
localhost/mysitename/phpresponse.php?act=process&pic=pic1.png
私は何も出力を取得していないだろうが、私は
localhost/mysitename/phpresponse.php?act=process&pic=c:\xampp\htdocs\mysitename\uploads\pic1.png
を実行した場合
matlabコンパイル済みファイルが実行され、実行されます
私は本当に混乱していますが、多くのことを試しましたが運がありませんでした...
どちらの場合でもexecに渡す文字列を 'echo'する必要があります。これは、相違点と目的の操作が間違っている場所を確認するのに役立ちます。 – DaveRandom