PHP ファイル処理 - ファイルの書き込みとファイルの操作
PHP ファイルの処理には、ファイルのオープンとクローズ、ファイルの読み取りがあります。つまり、ファイルの読み取りには、行、文字、文字列、およびファイル全体の読み取りも含まれます。読み込みがあるから書き込みもあるはずです、今回はファイルの書き込みとファイルの操作について詳しく解説していきます!
最初の 3 つの記事「PHP ファイル処理 - ファイルを開く/閉じる」、「PHP ファイル処理 - ファイル (1 文字、文字列) の読み取り」、および「PHP ファイル処理 - 方法」で説明した内容ファイルの読み取り (1 行、ファイル全体) 」に詳しく紹介されているので、まだ読んでいない友達はチェックしてください。今回はファイルの書き込みとファイル操作を中心に説明します。
1: ファイルにデータを書き込む
データの書き込みは、PHP でよく使用されるファイル操作でもあり、PHP では、fweite() 関数と file_put_contents() 関数を使用してデータをファイルに書き込みます。
1. fwrite() は、fputs() とも呼ばれ、使用方法は同じです。 fwrite() 関数の構文は次のとおりです。
int fwrite ( resource $handle , string $string [, int $length ] )
この関数は、ポインター ハンドルが指すファイルにコンテンツ文字列を書き込みます。パラメータ length を指定した場合、ファイル内容の長さが length バイト未満の場合は、ファイル内容全体が出力されます。
2. file_put_contents() 関数は PHP5 の新しい関数です。この関数の構文形式は次のとおりです:
int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
filename は書き込まれるファイルです
data は書き込まれるデータです
flags FILE_USE_INCLUDE_PATH、FILE_APPEND、LOCK_EXのいずれかになりますが、そのうちLOCK_EXは排他ロックです。次の記事で詳しく紹介します。
file_put_contents() 関数を使用すると、 fopen()、fwrite()、および fclose() 関数を順番に呼び出すのと同じ機能が実現されます。具体的な強みで機能の優位性を比較してみよう!
この例では、最初に fwrite() 関数を使用してデータをファイルに書き込み、次に file_put_contents() 関数を使用してデータを書き込みます。 具体的なコード例は次のとおりです。
<?php header("Content-Type:text/html; charset=utf-8"); $filepath = "05.txt"; $str = "PHP中文网 www.php.cn"; echo "用fwrite函数写入文件"; $fopen = fopen($filepath,"wb")or die("文件不存在"); fwrite($fopen,$str); fclose($fopen); readfile($filepath); echo "<p>用file_put_contents函数写入文件:"; file_put_contents($filepath,$str); readfile($filepath); ?>
出力結果は次のとおりです。
2: ファイルの操作
ファイルの内容の読み取りと書き込みに加えて、PHP は、コピー、名前変更、変更日の表示など、ファイル自体に対する操作も実行できます。 PHP には多数のファイル操作関数が組み込まれており、一般的に使用されるファイル操作関数は次のとおりです。 注: file() や readfile() などのいくつかの関数を除いて、ファイルの読み取りと書き込みを行うとき、他の間違いを犯した場合は、最初に fopen() 関数を使用してファイルを開く必要があります。ファイルを開き、最後に fclose() 関数を使用してファイルを閉じます。ファイルが保存されている限り、ファイル情報関数 (filesize、filemtime など) はファイルを開く必要はありません。 PHP ファイルの処理はここで終了します。次の記事では、PHP ディレクトリの処理について説明します。詳しくは、「PHP ディレクトリの処理 - ディレクトリを開く/閉じる」を参照してください。
関数プロトタイプ
関数の説明
例
bool copy(string path1, string path2)
path1 から path2 にファイルをコピーします。成功した場合は true、失敗した場合は false を返します。
copy('tm.txt','../tm.txt')
bool rename(string filename1,string filename2)
name1 の名前を name2 に変更します
rename('1.txt', 'test .txt')
bool unlink(string filename)
ファイルを削除します。成功した場合は true、失敗した場合は false を返します。
unlink('tm.txt')
int fileatime(string filename)
ファイルが最後にアクセスされた時刻をLinuxタイムスタンプの形式で返します
fileatime('test.txt')
int filemtime(string filename)
ファイルが最後に変更された時刻を Linux タイムスタンプの形式で返します
date("Y-m-d
H:i:s",filemtime("test.txt"))
int filesize(string filename)
ファイルfilenameのサイズを取得します
(バイト)filesize('1.txt')
array pathinfo(string name[,int options])
Return anファイル名のパス情報を含む配列。ディレクトリ名、ベース名、拡張子があります。返される情報は、PATHINFO_DIRNAME、PATHINFO_BASENAME、PATHINFO_EXTENSION などのオプションで設定できます。デフォルトでは、すべての
$arr=pathinfo('/tm/s1/16/4/9/1.txt');
foreach($arr as
$method=>$value){
echo $method .":".$value."
";}
string realpath(string filename)
D:wampserverwwwtesttest.txt などのファイル filename の絶対パスを返します
realpath(test .txt)
array stat(string filename)
上記のファイル サイズ、最終変更時刻などのファイル関連情報を含む配列を返します。
$arr=stat('test.txt');
foreach($arr as
$method=>$value){
echo
$method.":".$value."
";
}
以上がPHP ファイル処理 - ファイルの書き込みとファイルの操作の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。