ホームページ  >  記事  >  バックエンド開発  >  PHP 読み取りファイル

PHP 読み取りファイル

WBOY
WBOYオリジナル
2024-08-29 13:02:30320ブラウズ

PHP readfile は基本的に、ファイルを読み取って出力バッファに書き込むために使用される PHP ライブラリの組み込み関数です。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

構文:

readfile ( string $file_name [, boolean $path = FALSE [, resource $context ]] ) : int

構文で使用されているパラメータ:

  • filename: これは、読み取るファイルの名前を指定する必須フィールドです。
  • path: これはオプションのパラメータであり、指定されたパスでファイルを検索する必要がある場合に true または false に設定できるブール値です。
  • context: これも、ファイル ハンドルのコンテキストを指定するために使用されるオプションのフィールドです。基本的に、コンテキストは、ストリームの動作を変更する機能を持つオブジェクトのコレクションです。成功した場合はファイルから読み取られたバイト数を返し、読み取りに失敗した場合は false を返します。

PHP readfile のメソッド

readfile() 関数とは別に、ファイルに対してさまざまな種類の操作を実行するために使用できる他の関数の一部を以下に示します。

1.ファイル()

この関数はファイルの読み取りにも使用され、ファイル全体を配列に読み取ります。

構文:

file ( string $file_name [, int $flag = 0 [, resource $context ]] ) : array

ここで、file_name は読み取るファイルへのパスです。フラグは、以下の定数から選択できるオプションのフィールドです:

  • FILE_USE_INCLUDE_PATH: 指定されたパスでそれぞれのファイルを検索します。
  • FILE_IGNORE_NEW_LINES: 各配列要素の最後の改行を省略します。
  • FILE_SKIP_EMPTY_LINES: 空行をスキップします。

成功すると配列内に存在するファイルを返し、失敗すると false を返します。

2. fopen()

この関数は、ファイルと URL の両方を開くために使用できます。

fopen ( string $file_name , string $mode [, bool $use_include_path = FALSE [, resource $context ]] ) : resource
  • ここで、file_name が URL の場合、PHP はプロトコル ハンドラー (ラッパーとも呼ばれます) を検索します。 PHP は、スクリプト内で発生する可能性のある問題を追跡するのに役立つ通知を発行し、それを通常の通常の file_name として引き続き考慮します。
  • file_name がローカル ファイルの場合、PHP はそのファイル上で同じストリームを開こうとするとします。ファイルへのアクセスに必要な権限が付与されている場合にのみ、PHP からファイルにアクセスできます。
  • そして、指定された file_name が登録されたプロトコルであり、それがネットワーク URL として登録されている場合、最初の PHP は、allow_url_fopen が有効であることを確認します。無効になっている場合は警告が発行され、失敗します。

モード: このパラメータは、ストリームに付与する必要があるアクセスの種類を示します。以下にいくつかの重要なモードを示します:

  • r – 読み取りモードのみ
  • r+ – 読み取りと書き込みの両方のみ
  • w – 書き込みモードのみ

成功した場合はファイル ポインタ リソースを返し、失敗した場合は false を返します。

3. fread()

この関数は、バイナリセーフなファイルの読み取りに使用されます。

構文:

fread ( resource $handle , int $length ) : string

ハンドルはファイル ポインターを参照するために使用されます。

ファイルは、以下の条件のいずれかに達するまで読み取られます:長さ (バイト単位) が読み取られている必要があり、EOF に達し、ソケット タイムアウトが発生します。 fgets()、fscanf()、ftell()、fwrite()、fopen()、fsockopen() は、PHP でのファイル操作に使用される他の関数です。

PHP 読み取りファイルの例

以下は PHP 読み取りファイルの例です:

例 #1

コード:

<?php
// it is writing content of file to output
// buffer used in readfile() function
echo readfile("file.txt");
?>

出力:

PHP 読み取りファイル

これは、ローカル パスに存在するファイルを読み取る基本的な例を示しています。 readfile()関数のパラメータに指定したファイル名が作成され、そのファイル内に読み込む内容が存在することを確認してください。 readfile() 関数が使用されると、ファイルの内容が読み取られて出力に表示されます。

例 #2

コード:

<?php
/ file contents written on output
// buffer by readfile() function
$file = @readfile("file.txt");
if (!$file)
{
print "File could not be opened";
}
?>

出力:

PHP 読み取りファイル

前の出力は、条件のない単純な例でした。この例では、特定の条件を使用してファイルの出力を読み取り、表示する方法を見てみましょう。 if ステートメントを使用して、ファイルが存在しないと仮定して印刷しています。

例 #3

コード:

<?php
$file_name = "file.txt";
$fh = fopen($file_name, 'r');
$data = fread($fh, filesize($file_name));
fclose($fh);
echo $data;
?>

出力:

PHP 読み取りファイル

In this example, we are combining the use of multiple file read functions. As in all the above examples, first, we are giving the file name which needs to be read from. Then the mode of operation, ‘r’ is given to them indicating it can only be read. filesize() function takes the filename and returns the size of the file along with its data and assigns it to $data variable. By using fclose() function we are closing that file. Finally, the data is printed as output.

Example #4

Code:

<?php
$file_name = "file.txt";
$file = fopen( $file_name , "r" );
if( $file == false ) {
echo ( "Error in opening file" );
exit();
}
$size = filesize( $file_name );
$filetext = fread( $file, $size);
fclose( $file );
echo ( "The size of input file in bytes is : $size\n" );
echo ("Printing details of file:\n");
echo ( $filetext );
?>

Output:

PHP 読み取りファイル

Before running the code, make sure that the file to be read file.txt is created in the local file path. In this example first, we are declaring the file name to be read and opening that with the function fopen(). Suppose the file does not exist, using if condition we are throwing an error message. Finally, we are printing the file size and the content present in the input file.

Conclusion

As seen from all the above examples, readfile() is one of the main functions of PHP used for reading the file name specified in this function. Apart from readfile() we have covered a few other file operations which perform similar actions such as fopen, file, fread, fgets, fgetss, ftell, etc. A combination of all of these are basically used in accessing and performing operations on the input file.

以上がPHP 読み取りファイルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。