Dans l'article précédent "Comment boucler des tableaux associatifs en PHP (deux méthodes)", je vous ai présenté deux méthodes de bouclage à travers des tableaux associatifs en PHP. Les amis intéressés peuvent en apprendre davantage ~
Le thème de cet article Cet article. est de vous présenter les différences spécifiques entre les fonctions fgets, fgetss et fgetcsv en PHP !
En fait, ces trois fonctions sont toutes liées aux fonctions d'opération de fichiers en PHP Afin de permettre à chacun de maîtriser l'utilisation de différentes fonctions dans différentes situations, je vais résumer les différences entre elles.
Maintenant, je vais présenter respectivement les fonctions fgets, fgetss et fgetcsv avec des exemples :
1 : Fonction fgets()
fgets()
函数
fgets()函数用于每次从文件中读取一行;它会一直读取,直到遇到换行符 (n) 或 EOF;读取的最大长度是指定的长度减去 1 个字节。
语法如:
string fgets ( resource $handle [, int $length ] )
参数:
handle:文件指针必须是有效的,必须指向由 fopen() 或 fsockopen() 成功打开的文件(并还未由 fclose() 关闭)。
length:从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。
实例:
创建一个test.txt文件,内容如下:(该内容段落来源于网络,侵删歉)
<p>秋已经很深了,似乎随时都可能陨落,<b>让冬给替代。</b></p> 那呼啸的北风或许正是冬的使者,匆忙而来,不想并未在这土地逗留片刻,就向南而去了。
PHP示例代码如下:
<?php $file = fopen("test.txt","r"); echo fgets($file); fclose($file); ?>
输出效果如下:
二:fgetss()
函数
fgets()的一个有趣变体就是fgetss(),它具有以下语法 :
string fgetss(resource fp, int length, string [allowble_tags])
该函数与 fgets() 类似,不同之处在于它会去除在字符串中找到的任何 PHP 和 HTML 标记;如果要保留任何特定标签,可以将它们添加到allowable_tags字符串中;在读取别人写的文件或包含用户输入的文件时,为了安全起见,可以使用fgetss()。
本示例中的test.txt内容同上。
PHP示例代码如下:
<?php $file = fopen("test.txt","r"); echo fgetss($file); fclose($file);
输出如下所示:
若要保留特定标签,则可设置如下参数:
<?php $file = fopen("test.txt","r"); echo fgetss($file,1024,"<p>,<b>"); fclose($file);
效果如下:
三:fgetcsv()
La fonction fgets() est utilisée pour lire le fichier à chaque fois. ligne ; il lit jusqu'à ce qu'un caractère de nouvelle ligne (n) ou EOF soit rencontré ; la longueur maximale lue est la longueur spécifiée moins 1 octet.
Syntaxe telle que :
array fgetcsv(resource fp, int length [, string delimiter [, string enclosure]])
春天, 夏天, 秋天, 冬天 早晨, 上午, 中午, 晚上
<?php $file = fopen("test.csv","r"); var_dump(fgetcsv($file)); fclose($file);
fgetss()
Une variante intéressante de la fonction 🎜🎜🎜fgets() est fgetss(), qui a la syntaxe suivante : 🎜array (size=4) 0 => string '春天' (length=6) 1 => string ' 夏天' (length=7) 2 => string ' 秋天' (length=7) 3 => string ' 冬天' (length=7)
fgetcsv( )
Fonction🎜🎜🎜 🎜La fonction fgetcsv() est une autre variante de fgets(), avec la syntaxe suivante : 🎜rrreee🎜Lorsque vous utilisez un délimiteur (comme une tabulation ou une virgule), cette fonction délimitera le fichier lignes. 🎜🎜Créez d'abord un fichier test.csv avec le contenu suivant : 🎜rrreee🎜Exemple de code PHP : 🎜rrreee🎜Sortie : 🎜rrreee🎜La plate-forme de site Web chinoise PHP propose de nombreuses ressources pédagogiques vidéo, invitez tout le monde à apprendre "🎜Tutoriel vidéo PHP 🎜" ! 🎜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!