トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

PHP/ブラウザで叩いてサーバ上でコマンド実行する方法

Last-modified: 2010-06-17 (木) 14:48:46 (2715d)
Top / PHP / ブラウザで叩いてサーバ上でコマンド実行する方法

PHP

次のようなPHPプログラムをサーバに配置し、ブラウザでアクセスするとコマンドが実行され、結果が表示されます。

バックスラッシュ

<?php
	echo '<pre>' . `ls` . '</pre>';
?>
  • 実行結果が返ります。

shell_exec()

<?php
	$results = shell_exec('ls');
	echo '<pre>' . $results . '</pre>';
?>
  • バックスラッシュを使う方法のエイリアスです。
  • 実行結果が返ります。

passthru()

<?php
	echo '<pre>';
	passthru('ls', $return_value);
	echo '</pre>';
	echo '<hr />' . $return_value;
?>
  • echoを使わなくても表示されます。
  • 第2引数に変数を指定すると、コマンド結果の数値が入ります。

exec()

<?php
	$last_line = exec('ls', $return_lines);
	echo '<pre>';
	print_r($return_lines);
	echo '</pre>';
?>
  • 第2引数に変数を指定すると実行結果行を配列に取り込めるので、それに対してPHPで操作するときに便利です。
  • 関数戻り値は最後の行です。

system()

<?php
	echo '<pre>';
	$last_line = system('ls');
	echo '</pre>';
?>
  • 関数戻り値は最後の行です。