電子書籍の厳選無料作品が豊富!

IIS + PHP からのWindowsコマンド実行について

IIS+PHPの環境を用いて、ディスククォータの使用率を表示したいと考えています。

そこで、テストとして下記のスクリプトを実行しましたが、dir の実行結果は表示されましたが、dirquotaの実行結果が表示されませんでした。
また、コマンドプロンプトからphp.exe test.phpを実行しましたが同様です。

もちろん、コマンドプロンプトからdirquotaを実行すれば正しく稼働し表示されます。
Listの代わりにaddを使ってもコマンドが実行された気配がないので「表示されない」より「実行されない」のかと考えていますが、dirコマンドとdirquotaコマンドに違いがあるのでしょうか。

== test.php =============
<pre>
<?php
passthru("dir");
passthru("dirquota quota list d:\\");
?>
</pre>
=========================

【 環境 】
OS : Windows 2008 Server
PHP: 5.3(セーフモードOFF)

A 回答 (1件)

実行演算子(backtick 演算子)つかってみてはどうでしょう?



== test.php =============
<pre>
<?php
$output = `dir`;
$output = $output . `dirquota quota list d:\\`;
echo $output;
?>
</pre>
=========================

参考URL:http://www.stackasterisk.jp/tech/php/searchActio …

この回答への補足

ご回答ありごとうございます。
実行してみましたが、結果は変わりませんでした。

コマンドで実行できるプログラムに実行可能なものと不可能なものがあるのでしょうか。

補足日時:2010/08/13 11:53
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!