PHPのFile()関数です。 File_exists, Fopen, Fwrite, Fclose, Fgets, copy, unlink
ファイルとは
ファイルとは、単にコンピューター上に情報を保存するためのリソースのことです。
ファイルは通常、以下のような情報を保存するために使用されます。
- プログラムの構成設定
- 電話番号に対する連絡先のような単純なデータ
- 画像、写真、フォトなど。
このチュートリアルでは、以下のことを学びます。 あなたは以下のことを学びます。
- PHP ファイルフォーマットのサポート
- PHP ファイル関数
- PHP File_exists 関数
- PHP Fopen 関数
- PHP Fwrite 関数
- PHP Fclose 関数
- PHP Fgets 関数
- PHP Copy関数
- ファイルの削除
- PHP File_get_contents関数
PHP File Formats Support
PHPのファイル関数は、以下のような幅広いファイルフォーマットをサポートしています。
- ファイル.txt
- File.log
- File.custom_extension (例: file.xyz
- File.csv
- File.gif, file.jpg など
- ファイルは、DBMS システムを管理するために他のソフトウェアやスキルを必要とするデータベースと比較して、単純なデータのための永続的でコスト効率の良いデータストレージソリューションを提供します。
WindowsやMAC OSのようなオペレーティングシステムでは大文字小文字を区別しませんが、LinuxやUnixのオペレーティングシステムでは大文字小文字を区別します。
ファイル名に小文字のみを使用するような名前の変換を採用することは、クロスプラットフォームの互換性を最大限に確保する良い方法です。
それでは、よく使われるPHPのファイル関数をいくつか紹介しましょう。
PHP File_exists 関数
この関数は、ファイルが存在するかどうかを判断するために使用します。
- ファイルを処理する前に、そのファイルが存在するかどうかを知りたいときに便利です。
- また、新しいファイルを作成するときに、そのファイルがすでにサーバー上に存在していないことを確認したいときにも、この関数を使用することができます。
file_exist関数の構文は次のとおりです。
<?phpfile_exists($filename); ?>
ここで、
- “file_exists() “は、ファイルが存在する場合はtrueを、存在しない場合はfalseを返すPHP関数です。
- 「$file_name」はチェックするファイルのパスと名前です
以下のコードでは、file_exists関数を使って、my_settings.txtというファイルが存在するかどうかを調べています。
<?phpif (file_exists('my_settings.txt')) { echo 'file found!'; } else { echo 'my_settings.txt does not exist'; } ?>
上記のコードを file_function.php という名前のファイルに保存します。 htdocs の phptuts フォルダにファイルを保存したと仮定して、ブラウザで URL http://localhost/phptuts/file_function.php を開くと、次のような結果が得られます。
PHP Fopen関数
fopen関数は、ファイルを開くために使用されます。
<?phpfopen($file_name,$mode,$use_include_path,$context); ?>
ここから
- “fopen “はPHPのファイルオープン関数です
- “$file_name “はオープンするファイルの名前です
- “$mode “はファイルをオープンする際のモードです。 下の表にモードを示します
モード 説明 r - ファイルを最初から読み込みます。
- ファイルが存在しない場合は false を返します。
- 読み取り専用
r+ - ファイルを最初から読む
- ファイルが存在しない場合は false を返します。
- 読み込んで書き込む
w - ファイルを先頭から書き込む
- ファイルを長さ0に切り詰める
- ファイルが存在しない場合は作成を試みます。
- 書き込みのみ
w+ - ファイルの先頭に書き込み、ファイルを0の長さに切り詰めます
- ファイルが存在しない場合は作成を試みます。
- 読み書き可能
a - ファイルの最後に追加する
- ファイルが存在しない場合、作成を試みます。
- 書き込み専用
a+ - Phpが最後にファイルに追加する
- ファイルが存在しない場合、作成しようとします。
- ファイルが存在しない場合、作成を試みます
- 読み取りと書き込み
- “$use_include_path “はオプションです。 デフォルトはfalseですが、trueに設定すると、この関数はインクルードパスでも検索します。
- “$context “はオプションで、サポートするコンテキストを指定できます。
PHP Fwrite関数
fwrite関数は、ファイルを書き込むために使用します。
以下のような構文になっています
<?phpfwrite($handle, $string, $length);?>
ここで、
- “fwrite “はファイルに書き込むためのPHP関数です
- “$handle “はファイルポインタリソースです
- “$string “はファイルに書き込むデータです。
- “$length “はオプションで、ファイルの最大長を指定することができます。
PHP Fclose関数
既に開いているファイルをPHPで閉じるときに使用します
以下のような構文になります。
<?phpfclose($handle); ?>
ここで、
- “fclose “は、開いているファイルを閉じるためのPHP関数です
- “$handle “は、ファイルポインタのリソースです。
それでは、my_settings.txtを作成する例を見てみましょう。
以下の関数を使用します。
- Fopen
- Fwrite
- fclose
以下のコード「create_my_settings_file.php」は、上記の例を実装しています。
ファイルを開く <?php $fh = fopen("my_settings.txt", 'w')ordie("Failed to create file"); ?>
ファイルを閉じる <?phpfclose($fh);?>
td
ファイルの作成 <?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); $text = <<<_END localhost;root;pwd1234;my_database _END; fwrite($fh, $text) or die("Could not write to file"); fclose($fh); echo "File 'my_settings.txt' written successfully"; ?>
コードのテスト
ブラウザでURL http://localhost/phptuts/create_my_settings.phpを開きます。
以下のようなページが表示されます。
注意:ディスクがいっぱいだったり、ファイルを書き込む権限がない場合は、エラーメッセージが表示されます。
再びURL http://localhost/phptuts/file_function.php .
どのような結果が得られるでしょうか?
PHP Fgets 関数
fgets 関数は、php ファイルを一行ずつ読むために使用します。 fgets($handle); HERE,
- 「$fgets」はファイルの行を読むためのPHP関数です
- 「$handle」はファイルポインタのリソースです
それでは、fopen関数とfgets関数を使って、my_settings.txtファイルを読み込む例を見てみましょう。
以下のコード read_my_settings.php は、上記の例を実装しています。
<?php$fh = fopen("my_settings.txt", 'r') or die("File does not exist or you lack permission to open it");$line = fgets($fh);echo $line; fclose($fh); ?>
ここでは、
- 「fopen」関数は、ファイルパスで指定されたファイルへのポインタを返します
- 「die()」関数は、エラーが発生した場合に呼び出されます。 メッセージを表示し、スクリプトの実行を終了します
PHPのコピー関数
PHPのコピー関数は、ファイルをコピーするために使用します。 copy($file,$copied_file); HERE,
- 「$file」はコピーするファイルのパスとファイル名を指定します。
- 「copied_file」はコピーされたファイルのパスと名前を指定しました
以下のコードはその実装例です。
<?phpcopy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file");echo "File successfully copied to 'my_settings_backup.txt'"; ?>
ファイルの削除
unlink関数を使ってファイルを削除します。 以下のコードはその実装を示したものです。
<?phpif (!unlink('my_settings_backup.txt')){ echo "Could not delete file"; }else{ echo "File 'my_settings_backup.txt' successfully deleted"; } ?>
PHP File_get_contents関数
file_get_contents関数は、ファイルの内容全体を読み取るために使用されます。
以下のコードはその実装例です。
file_get_contentsとfgetsの違いは、file_get_contentsがファイルのデータを文字列で返すのに対し、fgetsはファイルを一行ずつ読み込むことです。
<?phpecho "<pre>"; // Enables display of line feedsecho file_get_contents("my_settings.txt");echo "</pre>"; // Terminates pre tag?>
まとめ
- ファイルとは、データを保存するためのリソースです
- PHPには、ファイルの操作を簡単にするための関数が豊富に組み込まれています。
- 一般的なファイル関数には fopen, fclose, file_get_contents
- 以下の表はカバーする関数の概要です
です。 機能 説明 File_exists ファイルが存在するかどうかを判断するのに使用される fopen ファイルを開くのに使用される。 オープンされたファイルへのポインタを返します fwrite ファイルへの書き込みに使用されます fclose 閉じたファイルを開くのに使用されます。 fgets ファイルを一行ずつ読むのに使用されます copy 既存のファイルをコピーするのに使用されます。 unlink 既存のファイルを削除するのに使用されます file_get_contents ファイルの内容をファイルとして返すのに使用されます。 file_get_contents ファイルの内容を文字列として返すために使用されます