• ベストアンサー

コマンド実行の成功有無を知りたい

現在、PHP上からexec関数を使用してcdrecodのコマンドを 実行させCDを焼く処理を作成しているのですがCD作成の 成功有無を取得しようと思ってもどうすればよいかわかりません。 execでtrueやfalseが取得できれば理想なのですが何か良い方法は ありませんでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.1

参考URLにある第2第3の引数(array &output,&return_val)で取得できないでしょうか。 cdrecordコマンドの戻り値や出力がどのような場合にどのような値を返す(どのように出力される)のかを把握してハンドリングする必要がありますが。 http://jp2.php.net/manual/ja/function.exec.php

morimori7
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • vbsでのコマンド実行について

    お世話になります。 現在、vbs内でRunメソッドとExecメソッドを使用してコマンドを実行しています。 一応、自分の求めている処理はできたんですが・・・ 戻り値を取得する為にExecメソッドでコマンドを実行する記述があるのですがコマンドプロンプトが表示してすぐに消えてとぱかぱかしてしまっています。 そこで皆さんに質問があり、投稿しました。 コマンドをExecメソッドで実行している所をRunメソッドで実行するように変更してみましたがうまくいきませんでした。 ※変更したのはコマンドの最後に「> 20161111.txt」を追加してテキストファイルに出力させるようにコマンドを変更しました。一応、コマンドプロンプトで直接、コマンドを実行したら問題なく戻り値が「20161111.txt」内に出力されるのを確認しました。 objShell.Run ”C:\ ~.exe ・・・ 20161111.txt”, 0, True 説明が下手でうまく伝える事ができたのかが心配ですがどうか私にご教授いただけませんでしょうか。 何卒、宜しくお願いします。

  • phpからlinuxコマンドを実行した場合

    phpで質問すればよいのかlinuxで質問すればよいのか微妙なのですが、 phpのexec関数でlinuxにコマンドを複数発行した場合の質問です。 例えば、cmdAとcmdBがあって、cmdBがcmdAに依存している場合(例えばcmdAで生成されたファイルをcmdBで使用するときとか)、下記のようにして、問題なのでしょうか? ---------------- exec(cmdA); exec(cmdB); ---------------- 上記のように連続でコマンドを発行すれば、cmdBはcmdAの処理が終わってから実行されるのでしょうか? 以上、よろしくお願い致します。

    • ベストアンサー
    • PHP
  • Perlを実行する方法

    Perlを実行するために <?php $ret = exec('/usr/bin/php /usr/local/apache/public_html1/testdir/a.cgi'); print $ret; ?> のように書きましたが、a.cgiは実行されないし$retは空白でした。 execでなくてもよいのですが、普通はPHPの実行中に、ある処理をさせるa.cgiを実行させるにはどうしているんでしょうか? a.cgiの処理が終わるまでphpのprint $ret;のステートメントの実行は待ち状態で、a.cgiの処理結果がTRUEなのかFALSEなのかを得られればさらによいです。

    • 締切済み
    • PHP
  • phpから外部コマンド実行

    今、phpで <?php system('ls -al'); ?> ”ls -al" のシェルコマンドを実行しようとしてるのですが、うまくいきません。 自分なりに調べたところ、system関数やexec関数はセーフモードにより制限されていると分かり、php.iniの「safe_mode =」や「safe_mode_exec_dir = 」の部分を編集し実行してみたのですが、やはりブラウザが真っ白で、どうしてもsystem関数が動いていない気がします。 色々ネットや本で調べてはみたんですが、原因が分かりません。 大変基本的な事だとは思うんですが、詳しい方がいれば教えていただけないでしょうか。お願いします。

    • 締切済み
    • PHP
  • phpでsudoコマンドの実行

    ブラウザからAndroidアプリのプロジェクト作成を可能にしようとしています。 Linux端末もしくわターミナルのroot権限で 「android create project --target ○ --name △ --path /var/../../.. --activity △ --package ■〇△」←「..や〇、△等は適当です(笑)」 というコマンドを実行するとプロジェクトが作成されます。端末、ターミナルでのこのコマンド実行には成功しています。 上記のコマンドをブラウザで実行させようと、まず一般ユーザモードでsudoコマンドでの実行を試みました。 「sudo /home/../../android create project --target ○ --name △ --path /var/../../.. --activity △ --package ■〇△」 というコマンドを実行するとsudoコマンドでもプロジェクトが作成されます。端末、ターミナル内でのこのコマンド実行も成功しています。 次にブラウザからの実行ですが、 ブラウザからphpのsystem関数を用いてsudoコマンドを使ったコマンド実行を試みているのですが、できません。 自分なりに調べて、sudoコマンドに必要なパスを入力不要にし、サイトに書いてあったので、viコマンドで、sudoure内の「Defaults requiretty」に#も追加しました。 ブラウザでphpのsystem関数を用いて上記コマンドの実行は不可能なのでしょうか?

    • 締切済み
    • PHP
  • PHPからexecを使ってGnuPGを実行できない

    GnuPGをPHPからexec関数を使って実行しようとしていますが、exec関数がエラーになって GnuPGが実行されません。 ただしexec関数に渡すコマンドをコマンドラインから直接打ち込むと正常に実行されます。 具体的には $cmd = "/usr/local/bin/gpg --always-trust --batch --no-secmem-warning -e -a -r ユーザー名 ファイル名のフルパス"; $ret = exec( $cmd, $output, $ret_val ); ここで$retにFALSEが、$ret_valには2が返ってきます。 $cmdのコマンドをコマンドラインから実行すると正常に実行されます。 環境 Apache/1.3.27 (Unix) (Red-Hat/Linux) GnuGP 1.4.6 PHP Version 4.3.11(セーフモードはOff) 以上、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • phpからlinuxコマンドを実行したい

    CentOS6で test.phpを作成しました。 <?php $buf = ''; exec("yum list installed | grep php | cut -d' ' -f1", $buf);   var_dump($buf[0]); ?> コマンド:php test.php を実行したのですが、実行結果が帰ってきません。 (当然phpをインストールしているので、パッケージは導入されています。) 多分「’」がうまく機能してないのだと思うのですが、 どのように記述すればコマンドの実行結果が表示されるのでしょうか ご教授お願いします。

  • バッチでFTPコマンド

    バッチ処理内でFTP接続し、ファイルの上げ下げを行う処理を作成しています。 使用しているサーバーはPHPのFTP関数が使用できない環境で、 コマンド関数を利用し直接処理を書こうと思うのですが、 exec('ftp ホスト'); と記述してもユーザー名、パスワードを聞かれてしまう為正常に動作しません。 こういった場合どうしたら良いのでしょうか?? 詳しい方がおられましたらご回答頂ければと存じます。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • コマンドライン実行からのDB接続不具合

    こんにちは。 現在、PHP5、Apache2、Oracle9iで開発を行っておりまして コマンドラインからのバッチ処理を作成しております。 Webブラウザから実行すると正常に動作するのですが コマンドラインから実行すると oci_connect関数をコールしている部分以降の処理が 実行されずに困っております。 いろいろ調べてみましたが原因がわからなかったので どなたかアドバイスを御願いします。

    • ベストアンサー
    • PHP
  • PHPからシェルコマンドの実行

    PHPからシェルコマンドを実行したいのですが SSHやSCPコマンドが使えません。 phpからlsなどは問題なく実行できます。 具体的には以下のように書いています。 `scp test.log user@host:/home/hoge`; shell_exec()を使っても実行されませんでした。 環境は以下のとおりです。 PHP 5.4.17 CentOS 5.8 sshやscpコマンドをphpから実行するには何か特別な方法が必要なのでしょうか。 ご存知の方、教えてください。

    • ベストアンサー
    • PHP