• 締切済み

system()関数の使い方について

PHPのsystem()関数を使ってWindowsのアプリケーション(C:\Program Files\MeCab\bin\mecab.exe)を実行しようと試行錯誤しています。 試行錯誤しながら以下のようなコードを書いたのですが、何も結果が返ってきません。 <?php $msg = system('C:\Program Files\MeCab\bin\mecab.exe C:\Program Files\MeCab\test-sjis.txt'); echo $msg; ?> 実験環境は、Windows XPにApacheを立ててPHP5をインストールしています。 動かなかった原因についてご指摘をいただけますと大変助かります。どうぞよろしくお願いいたします。

みんなの回答

noname#223623
noname#223623
回答No.1

var_dump($msg)の結果はどうなります? あと、systemでなくpassthruを使ったらどうだろう。 [マニュアルから引用] (systemは)成功時にコマンド出力の最後の行が返され、失敗時にFALSEが返されます。 コマンドを実行し、何の加工もせずに全てのデータをコマンドから直接返す必要がある場合、passthru()関数を使用してください。

dewyamada
質問者

お礼

ありがとうございました。 結局、コマンドパスにスペースが入ってることが原因でしたので、コマンドを\"でくくれば動くようになりました。

関連するQ&A