電子書籍の厳選無料作品が豊富!

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をインストールしています。
動かなかった原因についてご指摘をいただけますと大変助かります。どうぞよろしくお願いいたします。

A 回答 (1件)

var_dump($msg)の結果はどうなります?


あと、systemでなくpassthruを使ったらどうだろう。

[マニュアルから引用]
(systemは)成功時にコマンド出力の最後の行が返され、失敗時にFALSEが返されます。

コマンドを実行し、何の加工もせずに全てのデータをコマンドから直接返す必要がある場合、passthru()関数を使用してください。
    • good
    • 0
この回答へのお礼

ありがとうございました。

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

お礼日時:2005/07/09 04:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!