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
Les fonctions
fread(), fgets(), fgetc(), file_get_contents() et file() sont utilisées pour lire le contenu des fichiers.
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); ?>
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() 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), '<br />'; } } fclose($fh); ?>
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"
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() 函数用于把 整个文件 读入一个字符串,成功返回一个字符串,失败则返回 FALSE。
语法:
string file_get_contents( string filename [, int offset [, int maxlen]] )
参数 | 说明 |
---|---|
filename | 要读取的文件名称 |
offset | 可选,指定读取开始的位置,默认为文件开始位置 |
maxlen | 可选,指定读取文件的长度,单位字节 |
例子:
<?php // 读取时同事将换行符转换成 <br /> echo nl2br(file_get_contents('data.txt')); ?>
file() 函数用于把 整个文件 读入一个数组中,数组中的每个单元都是文件中相应的一行,包括换行符在内。成功返回一个数组,失败则返回 FALSE。
语法:
array file( string filename )
例子:
<?php $lines = file('data.txt'); // 在数组中循环并加上行号 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!