Authentication




Cancel OK
B!コメントする  2013-02-06 16:13:00 by old

execで別PHPを起動してその結果を受け取る

大した内容でもないですが
AというPHPからBというPHPを起動させたいときがあります。
そんなときはexecとはsystemの関数を使うんですが
コマンドと違ってphpを叩いて起動させただけだと返り値はなにもありません。

echo exec('ls -l');


とすればそのフォルダ内のリストが表示されます。
しかし

echo exec('php test.php');


としても特に表示はされません。
test.phpは簡単に

<?php
fileputcontents('./sample', 'sample');
?>


といったものですが、これを実行してもちゃんと実行されたかどうかは分かりません。
いちいちファイルの存在を確認するのも手ではありますが、返り値で確認できればシンプルです。
そこでtest.phpを以下のように変更します。

<?php
if( fileputcontents('./sample', 'sample') )
{
echo "success";
}
else
{
echo "failure";
}
?>


こうすることで

echo exec('php test.php');


としても「success」か「failure」のどちらかが返ってきます。
echoされているので当たり前といえば当たり前なんですが。


PHP  

  • コメント
  • コメントはまだありません