Maison  >  Article  >  développement back-end  >  Fichier PHP lisant fread, fgets, fgetc, file_get_contents et exemple de code d'utilisation de la fonction de fichier

Fichier PHP lisant fread, fgets, fgetc, file_get_contents et exemple de code d'utilisation de la fonction de fichier

怪我咯
怪我咯original
2017-07-11 09:46:032110parcourir

Les fonctions

fread(), fgets(), fgetc(), file_get_contents() et file() sont utilisées pour lire le contenu des fichiers.

fread()

la fonction fread() est utilisée pour lire des fichiers (sans danger pour les fichiers binaires).

Syntaxe :

string fread( int handle, int length )

fread() lit jusqu'à la longueur des octets à partir du handle du pointeur de fichier. La lecture du fichier s'arrêtera lorsque l'une des situations suivantes est rencontrée :

  • Lorsque jusqu'à la longueur des octets ont été lus

  • Fin du fichier (EOF) atteint

  • (pour les flux réseau) lorsqu'un paquet est disponible

  • ou (lors de l'ouverture d'un flux en espace utilisateur Après) 8192 octets ont été lu

Lecture de 10 octets (espaces compris) du fichier :

<?php
$filename = "data.txt";
$fh = fopen($filename, "r");
echo fread($fh, "10");
fclose($fh);
?>

Invite

Si vous souhaitez simplement lire le contenu de un fichier dans une chaîne, vous devez utiliser file_get_contents() avec de meilleures performances. La fonction

fgets()

fgets() est utilisée pour lire une ligne de données à partir d'un fichier et pointer le pointeur du fichier vers la ligne suivante.

Astuce : Si vous souhaitez supprimer les balises HTML du fichier lors de la lecture, veuillez utiliser la fonction fgetss().

Syntaxe :

string fgets( int handle [, int length] )

fgets() Lit une ligne du fichier pointé par handle et renvoie une chaîne d'une longueur maximale de 1 octet. S'arrête sur un caractère de nouvelle ligne (inclus dans la valeur de retour), EOF ou après la lecture d'octets de longueur 1. Si la longueur n'est pas spécifiée, la valeur par défaut est 1 Ko, soit 1 024 octets.

Exemple :

<?php
$fh = @fopen("data.txt","r") or die("打开 data.txt 文件出错!");
// if条件避免无效指针
if($fh){
    while(!feof($fh)) {
        echo fgets($fh), &#39;<br />';
    }
}
fclose($fh);
?>

Explication supplémentaire

La fonction feof() teste si le pointeur de fichier atteint la fin du fichier. Le pointeur de fichier doit être valide. est une ressource invalide, elle tombera dans une boucle infinie. Voir "Fonction de pointeur de fichier PHP"

fgetc()

la fonction fgetc() est utilisée pour lire les données du fichier mot par mot jusqu'à la fin du fichier.

语法:

string fgetc( resource handle )

例子:

<?php
$fh = @fopen("data.txt","r") or die("打开 data.txt 文件出错!");
if($fh){
    while(!feof($fh)) {
        echo fgetc($fh);
    }
}
fclose($fh);
?>

file_get_contents()

file_get_contents() 函数用于把 整个文件 读入一个字符串,成功返回一个字符串,失败则返回 FALSE。

语法:

string file_get_contents( string filename [, int offset [, int maxlen]] )
参数说明:
参数 说明
filename 要读取的文件名称
offset 可选,指定读取开始的位置,默认为文件开始位置
maxlen 可选,指定读取文件的长度,单位字节

例子:

<?php
// 读取时同事将换行符转换成 <br />
echo nl2br(file_get_contents('data.txt'));
?>

file()

file() 函数用于把 整个文件 读入一个数组中,数组中的每个单元都是文件中相应的一行,包括换行符在内。成功返回一个数组,失败则返回 FALSE。

语法:

array file( string filename )

例子:

<?php
$lines = file(&#39;data.txt&#39;);
// 在数组中循环并加上行号
foreach ($lines as $line_num => $line) {
    echo "Line #{$line_num} : ",$line,'<br />';
}
?>

test.txt 文件内容:

你好!
这是第二行文字。

浏览器显示:

Line #0 : 你好! 
Line #1 : 这是第二行文字。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn