ホームページ >バックエンド開発 >PHPチュートリアル >PHP5 チュートリアル ファイル操作_PHP チュートリアル
1. はじめに
どのコンピューターデバイスでもファイルは必要なオブジェクトであり、Webプログラミングではファイル操作は常にWebプログラマーにとって頭痛の種であり、CMSシステムではファイル操作が必要であり、非常に便利です。ファイル ディレクトリの生成、ファイル (フォルダー) の編集などの操作について説明します。ここで、PHP のこれらの関数の詳細な概要を作成し、それらの使用方法を例とともに示します。対応する関数の詳細については、PHP マニュアルを参照してください。 (PHPマニュアルには記載されていません。) (www.bkjia.com)
2. ディレクトリ操作
最初に紹介するのは、読み取り関数のディレクトリです。 、opendir()、readdir()、closedir() を使用する場合は、まずファイル ハンドルを開き、次にそれを繰り返しリストします:
$base_dir = "filelist/";
$fso = opendir($) Base_dir);
echo $base_dir."
ディレクトリ情報を知る必要がある場合は、dirname($path) を使用できます。とbasename($path)は、それぞれパスのディレクトリ部分とファイル名部分を返します。
,0777 非ウィンドウ条件下で umask() 関数によって設定できる許可コードです。
rmdir($path)
は、$path 内のパスを持つファイルを削除します。 - directory クラスも、ファイル ディレクトリを操作するための重要なクラスです。read、rewind、close の 3 つのメソッドがあり、最初にファイル ハンドルを使用して開き、次にポインタを使用して読み取ります。ここで PHP マニュアルを参照してください:
$d = dir("/etc/php5");
echo "ハンドル: " . $d->handle . "/n";echo "パス: " . $d->path . "/n" ;
while (false !== ($entry = $d->read())) { echo $entry."/n";
}
$d->close();
?>
出力:
ハンドル: リソース ID #2
.
..
cgi
cli
の属性ファイルの属性には、所有者、ファイル グループ、タイプ、サイズなどが含まれます。
3. ファイルの操作
$ file = 'dirlist.php';ファイルには file_exists も含まれています (以下に示します) が、これは明らかに is_readable ほど包括的ではありません。 ファイルが存在する場合、
$file = "filelist.php";
if (file_exists($) file) == false) {
die('ファイルが存在しません');}
$data = file_get_contents($file);echo htmlentities($data);
?>
ただし、file_get_contents 関数以前のバージョンではサポートされていません。最初にファイルへのハンドルを作成してから、ポインターを使用してすべてを読み取ることができます。 $data = fread ($fso, filesize ($cacheFile)));ファイル
の書き込みはファイルの読み取りと同じです。まず、次のように書けるかどうかを確認してください:
if (is_writable($file) == false) {
die('私は鶏の羽です、私はできません')
}
$data = '私は卑劣です、私はwant';
file_put_contents ($file, $data);
file_put_contents 関数は、php5 で新しく導入された関数です (存在するかどうかを知らない場合は、最初に function_exists 関数を使用して確認してください)。異なるバージョンの php は使用できません。
ファイルを書き込むときにロックする必要がある場合があります:
function cache_page($pageurl,$pagedata){
if(!$fso=fopen($pageurl,'w')){
$this->warns('キャッシュ ファイルを開けません。');//trigger_error
return false;
}
if(!flock($fso,LOCK_EX)){//LOCK_NB, 排他ロック
$this->warns('キャッシュ ファイルをロックできません。');//trigger_error
return false; }
if(!fwrite($fso,$pagedata)){//バイトストリームを書き込み、シリアル化して他の形式を書き込みます
$this->warns('キャッシュファイルを書き込めません。');//trigger_error ... unlink 関数の簡単な操作:
$file = 'dirlist.php';
$result = @unlink ($file);
if ($result == false) {
echo '蚊がいなくなった' ;
} else {
D. ファイル属性の取得
$file = 'dirlist.php';
$perms = substr(sprintf('%o ', fileperms ($file)), -4);echo $perms;
?>filesize() はファイル サイズのバイト数を返します:
// 出力同様です: somefile.txt : 1024 バイト
$filename = 'somefile.txt';
echo $filename . filesize($filename) . ' bytes';ファイルの情報と戻り配列がある関数 stat() 関数:
$file = 'dirlist.php';
$perms = stat($perms);
?>
詳細な情報を確認できる内容はここでは展開されません
IV. 結論
上記のいくつかのファイル操作に精通している場合は、次のことを簡単にまとめました。操作には大きな問題はありませんが、php ファイル操作の機能は比較的早く変化し、非常に強力になっています。ファイル部分も php を学習する上で非常に重要な部分ですので、無視しないでください。
http://www.bkjia.com/PHPjc/371497.html
www.bkjia.com
1. はじめに Web プログラミングでは、ファイルは常に必要なオブジェクトですが、CMS システムでのファイル操作は...