ホームページ  >  記事  >  バックエンド開発  >  PHP でファイルを読み取るための複数の方法とサンプル チュートリアル、_PHP チュートリアル

PHP でファイルを読み取るための複数の方法とサンプル チュートリアル、_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:21:27900ブラウズ

PHP でファイルを読み取るための複数の方法と例のチュートリアル

PHP でファイルを読み取るための 8 つの方法を共有します。これらは小規模で古典的な方法です。 PHPファイルの操作方法。

PHP でファイルを読み取るいくつかの方法を参考にします。
1.fread
string fread ( int $handle , int $length )
fread() handle が指すファイルから最大 length バイトを読み取ります。この関数は、最大 length バイトの読み取り後、または EOF に達したとき、または (ネットワーク ストリームの場合) パケットが使用可能になったとき、または (ユーザー空間ストリームを開いた後) 8192 バイトの読み取りが完了したときに呼び出されます。どの条件が最初に発生したかに応じて異なります。
fread() は読み取った文字列を返すか、エラーが発生した場合は FALSE を返します。
$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");//バイナリ ファイルを読み取るときは、2 番目のパラメータを次のように設定する必要があります'rb'

// filesize でファイル サイズを取得し、ファイル全体を一度に文字列に読み込みます
$contents = fread($handle, filesize ($filename));
fclose($handle);
?> ;
読み込むファイルがローカルの通常ファイルではなく、リモートファイルやストリームファイルの場合、filesizeではこれらのファイルのサイズを取得できないため、この方法は使用できません。このとき、feof() または fread() の戻り値を使用して、ファイルの終端を読み取ったかどうかを判断する必要があります。

例:
$handle = fopen('http://www.jbxue.com', 'r');
$content = '';
while(!feof($handle)) {
$content .= fread($handle, 8080);
}
echo $content;
fclose($handle);
?>
または:
$handle = fopen('http:/ / www.jbxue.com', 'r');
$content = '';
while(false != ($a = fread($handle, 8080))){//false を返すと、ファイルが読み込まれました
$content .= $a;
}
echo $content;
fclose($handle);
?>
2.fgets
string fgets ( int $handle [, int $length ] )
fgets () from handle 指定されたファイルから行を読み取り、最大 length - 1 バイトの長さの文字列を返します。改行文字 (戻り値に含まれる)、EOF、または長さ - 1 バイト (いずれか最初に発生した方) が読み取られたときに停止します。長さが指定されていない場合、デフォルトは 1K、つまり 1024 バイトになります。
$handle = fopen('./file.txt', 'r');
while(!feof($handle)){
echo fgets($handle, 1024);
}
fclose( $handle);
?>
注: length パラメータは PHP 4.2.0 以降オプションになります。省略した場合、行の長さは 1024 であるとみなされます。 PHP 4.3 以降、length を省略すると、行の終わりまでストリームからの読み取りが継続されます。ファイル内のほとんどの行が 8KB を超える場合は、スクリプトで最大行長を指定すると、リソースをより効率的に利用できます。 PHP 4.3 以降、この関数はバイナリ ファイルに対して安全に使用できます。以前のバージョンにはありません。
3.fgetss
string fgetss ( resource $handle [, int $length [, string $allowable_tags ]] )
fgets と同じ関数ですが、fgetss は読み取ったテキストから HTML タグと PHP タグを削除しようとします。選択された 3 番目のパラメータは、どのタグを削除しないかを指定します。
$handle = fopen('./file.txt', 'r');
while(!feof($handle)){
echo fgetss($handle, 1024, '
' );
}
fclose($handle);
?>
4.file
array file ( string $filename [, int $use_include_path [, resource $context ]] )
ファイルの内容を配列、array に読み込みますのエントリは、改行を含むファイル内の行に対応します。行終了文字が必要ない場合は、rtrim() 関数を使用して改行をフィルタリングできます。
$a = file('./file.txt');
foreach($a as $line => $content){
echo 'line '.($line + 1).': '.$content;
}
?>
5.readfile
int readfile ( string $filename [, bool $use_include_path [, resource $context ]] )
ファイルを読み取り、出力バッファに書き込みます。ファイルから読み取られたバイト数を返します。 @readfile() として呼び出されない限り、エラー時に FALSE を返し、エラー メッセージを表示します。
$size = readfile('./file.txt');
echo $size;
?>
6.file_get_contents
string file_get_contents ( string $filename [, bool $use_include_path [, resource $context [, int $offset [, int $maxlen ]]]] )
ファイルを文字列に読み込みます。 3 番目のパラメーター $context は、リモート ファイルにアクセスするときのタイムアウトの設定など、いくつかのパラメーターを設定するために使用できます。
さらに、file_get_contents は上記の関数よりもパフォーマンスがはるかに優れているため、file_get_contents を最初に使用する必要があります。ただし、readfile は fopen を呼び出す必要がないため、file_get_contents よりもパフォーマンスが優れているようです (?)。
$ctx = stream_context_create(array(
'http' => array(
'timeout' => 1 //タイムアウトを設定します
)
)
echo file_get_contents("http:// www.jbxue.com/", 0, $ctx);
?>

興味があるかもしれない記事:

  • PHPでファイルを読み取る一般的な方法のまとめ
  • PHPファイルプログラミング(2)-ファイルを読み取る4つの方法
  • ファイルの内容を文字列に読み込んで処理するためのphpコード
  • phpでファイルの内容を読み取る方法を学びましょう

7.fpassthru
int fpassthru ( resource $handle )
指定されたファイル ポインタを現在位置から EOF まで読み取り、結果を出力バッファに書き込みます。

header("Content-Type:text/html;charset=utf-8");
$handle = fopen('./test2.php', 'r');
fseek($handle, 1024);//1024 バイトへのポインタを見つけます
fpassthru($handle);
?>
8.parse_ini_file
array parse_ini_file ( string $filename [, bool $process_sections ] )
parse_ini_file() は、ini で構成されるファイルをロードしますfilename で指定されたファイルを取得し、その設定を連想配列として返します。最後の process_sections パラメータを TRUE に設定すると、構成ファイル内の各セクションの名前と設定を含む多次元配列が取得されます。 process_sections のデフォルト値は FALSE です。
注:
1. ini ファイル内の値に英数字以外の文字が含まれる場合は、二重引用符 (") で囲む必要があります。
2. 一部の予約語は、ini ファイル内のキー名として使用できません。 : null、yes、no、true、および false。null、no、および false の値は「」と同等であり、yes と true の値は「1」と同等です。文字 {}|&~![ ()" は名前のキーにも使用できません。また、これらの文字はオプション値において特別な意味を持ちます。
test.ini ファイルの内容:
; これはサンプル設定ファイルです
; コメントは php.ini のように ';' で始まります
one = 1
five = 5
animal = BIRD
[second_section]
path = "/usr/local/bin"
URL = "http://www.example.com/~username
test.php content:

$config = parse_ini_file('./test.ini', ture);
print_r($config);
?>
出力内容:
Array
(
[first_section] => Array
(
[1] => 1
[5] => 5
[動物] => 鳥
)
[第 2 セクション] => 配列
(
[パス] => /usr/local/bin
[URL] => http://www.example.com/~username
)
)
いくつかの注意事項:
1. システムが使用しない場合でも、バイナリ ファイルを処理するときは b フラグを使用することをお勧めします。これが必要な場合は、スクリプトの移植性を高めることができます。
2.allow_url_fopen オプションは、fopen カプセル化プロトコルの URL 形式をアクティブにして、ファイルなどの URL オブジェクトにアクセスできるようにします。デフォルトのカプセル化プロトコルは、ftp および http プロトコルを使用したリモート ファイルへのアクセスを提供します。zlib などの一部の拡張ライブラリは、さらに多くのカプセル化プロトコルを登録する場合があります。セキュリティ上の理由から、このオプションは php.ini でのみ設定できます。
3. 特殊文字 (スペースなど) を含む URL を開きたい場合は、URL エンコードに urlencode() を使用する必要があります。

http://www.bkjia.com/PHPjc/859228.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/859228.html技術記事 PHP でファイルを読み取るための複数の方法と例のチュートリアル。PHP でファイルを読み取るための 8 つの方法を共有します。これらは、PHP ファイルの操作方法を学ぶのに役立ちます。 .
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。