2012年3月29日木曜日

[PHP]PHPでコマンド発行をしてみた

PHP5.4でコマンドを発行してみた。

shell_execだけしか知らなかったのですが

以下のサイトを見たら、結構いろいろコマンドがあるっぽいことが判明。
http://www.phppro.jp/phpmanual/php/ref.exec.html

前回構築したビルトインのサイトに1hテキトーなphpを作ってみた。


echo "<div>";
echo "<h2>コマンド</h2>";
$com = "dir";
print_r($com);

echo "</div><hr />";
echo "<div>";
echo "<h2>passthru</h2>";
$output = passthru($com);
print_r($output);

echo "</div><hr />";
echo "<div>";
echo "<h2>exec</h2>";
$output = exec($com);
print_r($output);


echo "</div><hr />";
echo "<div>";
echo "<h2>shell_exec</h2>";
$output = shell_exec($com);
print_r($output);

echo "</div><hr />";

こんなの。
出方を比べてみる。




コマンド

dir

passthru

ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は C49E-10EE です C:\php\www のディレクトリ 2012/03/29 15:04





. 2012/03/29 15:04.. 2012/03/29 15:54 524 cmd.php 2012/03/29 15:04 18 index.php 2 個のファイル 542 バイト 2 個のディレクトリ 5,554,049,024 バイトの空き領域

exec

2 個のディレクトリ 5,554,049,024 バイトの空き領域

shell_exec

ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は C49E-10EE です C:\php\www のディレクトリ 2012/03/29 15:04





. 2012/03/29 15:04.. 2012/03/29 15:54 524 cmd.php 2012/03/29 15:04 18 index.php 2 個のファイル 542 バイト 2 個のディレクトリ 5,554,049,024 バイトの空き領域

こんな感じになりましたとさ。
とりあえず以上


0 件のコメント:

コメントを投稿