还分不清PHP中fgets、fgetss和fgetcsv吗?快收藏!

简介: 在上一篇文章《PHP如何循环关联数组(两种方式)》中给大家介绍了PHP循环遍历关联数组的两种方法,感兴趣的朋友可以学习了解一下~本文的主题内容则是给大家介绍PHP中fgets、fgetss和fgetcsv函数的具体区别有哪些!其实这3个函数都是有关PHP中文件操作类的函数,为了让大家能熟练掌握在不同情况下使用不同函数,我就给大家总结一下他们之间的使用区别。下面我就结合示例分别给大家介绍fgets、fgetss和fgetcsv函数:

在上一篇文章《PHP如何循环关联数组(两种方式)》中给大家介绍了PHP循环遍历关联数组的两种方法,感兴趣的朋友可以学习了解一下~
本文的主题内容则是给大家介绍PHP中fgets、fgetss和fgetcsv函数的具体区别有哪些!

其实这3个函数都是有关PHP中文件操作类的函数,为了让大家能熟练掌握在不同情况下使用不同函数,我就给大家总结一下他们之间的使用区别。

下面我就结合示例分别给大家介绍fgets、fgetss和fgetcsv函数:

一: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文件,内容如下:(该内容段落来源于网络,侵删歉)

秋已经很深了,似乎随时都可能陨落,让冬给替代。

那呼啸的北风或许正是冬的使者,匆忙而来,不想并未在这土地逗留片刻,就向南而去了。
PHP示例代码如下:

<?php
$file = fopen("test.txt","r");
echo fgets($file);
fclose($file);
?>
输出效果如下:

4926af6488f30f9c96ae4ec2020e6e3.png

二: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);
输出如下所示:

b3a12dfe287938db43fbecfdec4e6c0.png

若要保留特定标签,则可设置如下参数:

<?php
$file = fopen("test.txt","r");
echo fgetss($file,1024,"

,");
fclose($file);
效果如下:

9cf6422b63bbe325ac8a49fd45ece82.png

三:fgetcsv() 函数

函数fgetcsv()是 fgets() 的另一个变体,语法如下:

array fgetcsv(resource fp, int length [, string delimiter [, string enclosure]])
当你使用了分隔符(如制表符或逗号)时,该函数将对文件行进行分隔。

首先创建一个test.csv文件,内容如下:

春天, 夏天, 秋天, 冬天
早晨, 上午, 中午, 晚上
PHP代码示例:

<?php
$file = fopen("test.csv","r");
var_dump(fgetcsv($file));
fclose($file);
输出:

array (size=4)
0 => string '春天' (length=6)
1 => string ' 夏天' (length=7)
2 => string ' 秋天' (length=7)
3 => string ' 冬天' (length=7)
PHP中文网平台有非常多的视频教学资源,欢迎大家学习《PHP视频教程》!

以上就是还分不清PHP中fgets、fgetss和fgetcsv吗?快收藏!的详细内容,更多请关注富贵论坛www.fgba.net其它相关文章!

目录
相关文章
|
网络协议 PHP
php stream_set_blocking设置非阻塞模式,php stream_set_blocking影响函数fgets()和fread()
php stream_set_blocking设置非阻塞模式,php stream_set_blocking影响函数fgets()和fread()
316 0
|
PHP
php&rsquo;s fgets() 函数
fgets() 函数从文件指针中读取一行。 fgets(file,length) 原文 http://www.w3school.com.cn/php/func_filesystem_fgets.asp
636 0
|
2月前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
2月前
|
NoSQL 关系型数据库 MySQL
不是 PHP 不行了,而是 MySQL 数据库扛不住啊
【9月更文挑战第8天】这段内容讨论了MySQL在某些场景下面临的挑战及其原因,并指出这些问题不能完全归咎于MySQL本身。高并发读写压力、数据量增长以及复杂查询和事务处理都可能导致性能瓶颈。然而,应用程序设计不合理、系统架构不佳以及其他数据库选择和优化策略不足也是重要因素。综合考虑这些方面才能有效解决性能问题,而MySQL通过不断改进和优化,仍然是许多应用场景中的可靠选择。
112 9
|
3月前
|
存储 SQL 关系型数据库
PHP与MySQL交互的奥秘
【8月更文挑战第29天】在编程的世界里,PHP和MySQL就像是一对默契的舞伴,共同演绎着数据的交响曲。本文将带你探索它们之间的互动,从连接数据库到执行查询,再到处理结果,每一步都充满了节奏与和谐。我们将一起走进这段代码的旅程,感受数据流动的魅力。
|
15天前
|
SQL 关系型数据库 MySQL
PHP与MySQL协同工作的艺术:开发高效动态网站
在这个后端技术迅速迭代的时代,PHP和MySQL的组合仍然是创建动态网站和应用的主流选择之一。本文将带领读者深入理解PHP后端逻辑与MySQL数据库之间的协同工作方式,包括数据的检索、插入、更新和删除操作。文章将通过一系列实用的示例和最佳实践,揭示如何充分利用这两种技术的优势,构建高效、安全且易于维护的动态网站。
|
3月前
|
SQL 关系型数据库 MySQL
PHP与MySQL交互之基础教程
【8月更文挑战第31天】 在数字世界中,数据是推动一切的核心力量。本文将引导你探索PHP与MySQL的协同工作,通过实际代码示例,展示如何建立连接、执行查询以及处理结果集。无论你是初学者还是希望巩固知识的开发者,这篇文章都将为你提供宝贵的实践知识。
|
4月前
|
数据库
基于PHP+MYSQL开发制作的趣味测试网站源码
基于PHP+MYSQL开发制作的趣味测试网站源码。可在后台提前设置好缘分, 自己手动在数据库里修改数据,数据库里有就会优先查询数据库的信息, 没设置的话第一次查询缘分都是非常好的 95-99,第二次查就比较差 , 所以如果要你女朋友查询你的名字觉得很好 那就得是她第一反应是查和你的缘分, 如果查的是别人,那不好意思,第二个可能是你。
60 3
|
6月前
|
关系型数据库 MySQL PHP
|
5月前
|
NoSQL 关系型数据库 MySQL
linux服务器重启php,nginx,redis,mysql命令
linux服务器重启php,nginx,redis,mysql命令
105 1