PHP にはファイル システム関連の関数が多数あり、ファイルを開くだけでなく、ディレクトリの内容の表示やファイルの移動などにも役立ちます。 PHP を使用して Web ベースのファイル マネージャーを作成した人もたくさんいます。
まず、ファイル パスについて注意してください。Windows ではファイル パスにスラッシュ "/" またはバックスラッシュ "" を使用できますが、他のオペレーティング システムでは "/" のみが使用されます。互換性の理由から、次の例では「/」表記を使用しています。
以下の簡単なスクリプトは、基本的なディレクトリのリストを表示します。コード内にコメントがあり、各ステップを説明します:
/* 変数 $dir_name*/
$dir_name = "/ にアクセスするディレクトリへのフルパスを指定します。 home/me /";
/* ハンドルを作成し、指定されたディレクトリの結果を開きます*/
$dir = opendir($dir_name);
/*リスト要素 (ファイル名) が配置される場所にテキストの追加を開始します */
$file_list = "
/* 読み取りには while ステートメントを使用します開いたディレクトリのすべての要素。ファイル名が「.」でも「..」でもない場合は、ファイル名をリストに出力します*/
while ($file_name = readdir($dir)) {
if (($ ファイル名 != ".") && ($ファイル名 != "..")) {
$ファイルリスト .= "
$ファイル名";
}
/* リストを終了します */
$file_list .= "";
/* 開いているディレクトリ ハンドルを閉じますPHP コードを終了します。 Section*/
closedir($dir);
ディレクトリリスト
"$dir_name"; ?>
?>
これでディレクトリのリストが作成されました。ディレクトリまたはファイル (すぐに参照します) の内容を読み取るには、ユーザーが配置されている PHP 実行プラットフォームに少なくともディレクトリまたはファイルに対する読み取り権限が必要であることに注意してください。
次の例は、ファイルをコピーする方法を示しています。
/* コピーするファイルのパスを変数 $original に入れ、コピー先のパスを入れます。変数 $copied */
$original = "/home/me/mydatabasedump";
$copied = "/archive/mydatabasedumo_1010"; copy() 関数を使用してソース ファイルをコピー先にコピーするか、エラー メッセージを出力して終了します*/
@copy($original, $copied) または die("Couldn't copy file.");
?>
サンプル スクリプトは、システムをバックアップする最初のステップです。スクリプトを実行すると、セキュリティ上の理由から、まずデータベースが別の場所にコピーされます。 crontab を変更すると、ユーザーの介入なしに、選択した時間にこのファイルを実行できます。
Lynx がすでにシステム上にあると仮定すると、Lynx を実行してファイルにアクセスするための crontab エントリを作成できます。ファイルにアクセスすると、スクリプトが実行され、ファイルのコピーが作成されます。次の例では、午前 5 時にスクリプトを実行し、Lynx をシャットダウンします:
0 5 * * * [username] lynx -dump http://localhost/copyfile.php 1>/dev/null 2>&1
CGI バージョンの PHP を実行している場合は、Lynx 部分をスキップしてバイナリを参照できます:
0 5 * * * [username] php /path/to/copyfile。 php 1> ;/dev/null 2>&1