ホームページ >バックエンド開発 >PHPチュートリアル >PHPファイル操作関数_PHPチュートリアル
1. 関数ファイル('対象ファイル')
ファイルを配列の形式で読み取り、ループを使用して配列を走査して入力します
1.
2. header('Content-Type:text/html; charset=utf-8');
3. $file=file("test.txt");
4. if($file)
5. {
6. foreach ($file as $num=>$content)
7. {
8. echo "行数は ".$num."、内容は ".$content."
;
9. }
10. }
11.その他
12. {
13. 「ファイルの読み取りに失敗しました」をエコーします
14. }
15. ?>
出力結果は
2. 関数 fopen (「開くファイル」、「どのメソッドで」) はファイルを開きます。メソッドには R R+ W W+ AB などが含まれます。
Wを使用する場合、そのようなファイルが存在しない場合、ファイルは自動的に作成されます
1.
2. header('Content-Type:text/html; charset=utf-8');
3. $fopen=fopen('t2.php','w');
4. if($fopen)
5. {
6. 「ファイルが正常に開きました」をエコーします
7. }
8.その他
9. {
10. 「ファイルを開けませんでした」をエコーします
11. }
12. ?>
結果を出力する
ファイルが正常に開かれ、ファイルが自動的に作成されます
3. 関数 fwrite('ターゲット ファイル', '書き込まれたコンテンツ')、コンテンツをターゲット ファイルに書き込みます
1.
2. header('Content-Type:text/html; charset=utf-8');
3. $c2="ある日、私は気まぐれに彼を市場に連れて行きました
";
4. $fp=fopen("t1.php","ab");
5.
6. if (fwrite($fp,$c2))
7. {
8. 「書き込みに成功しました」をエコーします
9. }
10.その他
11. {
12. 「書き込みに失敗しました」をエコーします
13. }
14. if (fclose($fp))
15. {
16. 「ドキュメントは閉じられました」をエコーします
17. }
18. ?>
結果は、書き込みが成功し、ファイル t1.php が $c2
の内容を書き込みます。
4.readfile('target file') は、対象のファイルまたは Web サイトを読み取ります。 file とは異なり、ファイルの内容を直接読み取ります
。
1.
2.
3. $fp=readfile("http://www.baidu.com");
4. if (!$fp)
5. {
6. 「ファイルの読み取りに失敗しました」をエコーします
7. }
8. ?>
結果を出力する
5.filesize('target file') はターゲットファイルのサイズを読み取ります
1.
2. $filename=("t1.php");
3. $size=ファイルサイズ($ファイル名);
4. $size."バイト" をエコーします。
5.?>
出力結果、186バイト
6.feof('target file') は、ターゲットファイルポインタが最終行に到達したかどうかを判定します
1.
2. header('Content-Type:text/html; charset=utf-8');
3.
4. $filename="test.txt";
5. if (file_exists($filename))
6. {
7. $file = fopen($filename, "r");
8.
9. //ファイルの終わりまでテキスト内のすべての行を出力します。
10. while(! feof($file))
11. {
12. echo fgets($file,4096)。
13. }
14.
15. fclose($file)
16. }
17.その他
18.{
19. $file = fopen($filename,"w");
20. $fw=fwrite($file,$content);
21. if ($fw)
22. {
23. $file = fopen($filename,"r");
24. ながら (!feof($file))
25. {
26. echo fgets($file)."
";
27.
28. }
29. }
30.その他
31. {
32. 「読み取りに失敗しました」をエコーします
33. }
34. fclose($file)
35. }
36. ?>
test.txtの内容を出力します
fget を使用して配列を走査する 重要なポイント: ファイルを開くとき、fget を使用して配列を走査するには、モードが R である必要があります
7.unlink('target file') は対象ファイルを削除します
1.
2. header('Content-Type:text/html; charset=utf-8');
3. $filename = "t1.php";
4. if(file_exists($filename))
5. {
6.リンクを解除($ファイル名);
7. echo $filename."ファイルは正常に削除されました!!";
8. }
9.その他
10. {
11. 「ファイルが見つかりません」をエコーします
12. }
13. ?>
出力結果:t1.phpファイルの削除に成功しました。
8.copy('ターゲットファイル','コピーされた場所') コピーされた場所は現在のディレクトリにすることも、正確な場所を指定することもできます
1.
2. header('Content-Type:text/html; charset=utf-8');
3. $filename="test.txt";
4. if (copy($filename,"d:test12.txt"))
5. {
6. 「ファイルは正常にコピーされました」をエコーします
7. }
8.その他
9. {
10. 「ファイルのコピーに失敗しました」をエコーします
11. }
12. ?>
9
9.mkdir('フォルダー名') フォルダーを作成します
1.
2. header('Content-Type:text/html; charset=utf-8');
3.
4. 関数 mk($dir)
5. {
6.
7. if (file_exists($dir) && is_dir($dir))
8. {
9. 「フォルダー名が存在します」をエコーします
10. }
11.その他
12. {
13. if (mkdir($dir,0777));
14. echo $dir."正常に作成されました";
15. }
16. }
17. mk(date("Y-m-d"));
18. ?>
出力結果、2011-09-20 正常に作成されました。例では関数を宣言する方法を使用しています
10.rmdir('ターゲット フォルダ') はフォルダを削除します。空ではないフォルダは削除できないことに注意してください。空ではないフォルダを削除する場合は、まずフォルダ内のすべての内容を調べてからファイルを削除する必要があります。を選択し、フォルダーを削除します
例
1. realpath 関数を使用して実際のアドレスを取得します。アドレスが空、/、またはアドレスが:\ に等しい場合、そのアドレスはルート ディレクトリであることが判明し、削除できません。 false を返します。
2. 1 の内容と等しくない場合は、opendir 関数を使用してディレクトリ ハンドルを開き、ディレクトリ ストリームを返します
while (readdir()) を使用してディレクトリを走査し、それを $file に割り当てます
3. $file が false に等しくない場合、または に等しい場合は、続行します
。4. $path を $dir (実際のアドレス) に割り当て、DIRECTORY_SEPARATOR (システム区切り文字) に $file に接続します。このアドレスはフォルダー内のファイルのアドレスです
。
5. $path がディレクトリであり、rmdir($path) 関数が false でない場合、つまり $path がディレクトリであるが削除できない場合
unlink($path); このファイルを削除します。ハンドルを閉じます。再度フォルダを削除してください。
1.
2. header('Content-Type:text/html; charset=utf-8');
3.
4. 関数 mrdirs($dir)
5. {
6.
7. $dir = リアルパス($dir);
8. if($dir=='' || $dir=='/' || (strlen($dir)==3 && substr($dir,1)==':\'))
9. {
10. false を返します。
11. }
12.その他
13. {
14. if(false != ($dh=opendir($dir)))
15.
16. while(false != ($file=readdir($dh)))
17.
18。
19. echo $path=$dir .DIRECTORY_SEPARATOR .$file
;
20. if (is_dir($path))
21.
22. If(!rmdir($path)){return false;}}
23.その他
24.
」
26. echo $path."削除するファイル";
27.
28.
29. クローズされたir($dh);
30。
31. echo "フォルダーが正常に削除されました"
;
32. true を返します。
33.
34.
35.その他
36.
37. false を返す
38. }
39.
40.
41. }
42.
43.
44. }
45.
46. $dir=date('Y-m-d');
47. if(file_exists($dir))
48.{
49. mrdirs($dir);
50. }
51.その他
52.{
53. echo "フォルダーが存在しないため、削除できません"
54. }
55. ?>
出力結果、フォルダーが削除されました
ただし、この方法はフォルダー内にファイルがある場合にのみ機能し、フォルダーのネストは機能しません。
「PHP勉強ノート」著者