phpでlsコマンドを実行する方法を昨日紹介しました。
今日は、lsの出力結果が複数の場合の実行方法を紹介します。
phpのexec()関数を使用します。
書式は「exec(実行したいコマンド,アウトプット先)」となります。
やってみましょう。
1 2 3 |
<?php </code><span>$cmd </span><span>= </span><span>"ls /tmp/</span><span>"</span><span>; </span><span>exec</span><span>(</span><span>$cmd,$output</span><span>); print_r($output); </span><code>?> |
サーバ上に「/tmp/hoge、/tmp/kamo1、/tmp/kamo2」が存在していれば、出力結果は以下のようになります。
1 |
<span>Array ( [0] => hoge [1] => kamo1 [2] => kamo2 )</span> |
ちなみに、以下のようにすると最後の1行のみ表示されます。
1 2 3 |
<?php </code><span>$cmd </span><span>= </span><span>"ls /tmp/</span><span>"</span><span>; </span><span>echo exec</span><span>(</span><span>$cmd</span><span>);</span><code>?> |
サーバ上に「/tmp/hoge、/tmp/kamo1、/tmp/kamo2」が存在していても、出力結果は以下のようになります。
1 |
<span>kamo2</span> |