System の関数は、 このようにコマンドラインを与えてコールします。
<?php
if (!System::rm('-r file1 dir1')) {
print "すべてのファイルを削除できませんでした";
}
?>
関数の引数は、文字列あるいは配列で渡すことができます。
<?php
System::rm(array('-r', 'file1', 'dir1'));
?>
System は、他の PHP 関数と同じように動作し、
操作が完了しなかった場合は FALSE
を返します。
System は、エラーが見つかっても処理を停止せず、続行します。例えば、
3 つのファイルを削除する処理で最初のファイルの削除に失敗したとしても、
残りの 2 つは削除されます。しかし、関数の返り値は
FALSE
となります。
エラーの表示には、PHP の trigger_error()() 関数が使用されます。したがって、関数名の前に '@' をつければ System メソッドの出力を抑えることができます (例: @System::mkdir('-p dir1/dir2/dir3');)。
System が提供するのはファイルシステム関数です。 その名前は Unix システムのコマンドに似ており、 それらと同様のオプションを使用できます。このオプションは、 OS に依存しません。
現時点では、これらの関数は Linux および Windows でしかテストされていません。 その他のシステムにおける互換性の報告をお待ちしています。
PHP 4 の初期のバージョンでは、Windows 上で unlink() がうまく動作しませんでした。このバグは、最新のバージョンでは修正されています。
このマニュアルでは System 関数のパラメータについて説明していますが、 ほとんどは、単に「文字列を引数にとります」というだけの説明です。 個々のコマンドに渡す引数やオプションについては、このマニュアルでは 説明していません。それらの説明は、Unix 系のシステムなら
コマンド名
でマニュアルページを参照ください。もしマニュアルページが使用できない場合は、 オンラインの UNIX マニュアルページ を参照ください。