还分不清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()
597 0
|
PHP
php&rsquo;s fgets() 函数
fgets() 函数从文件指针中读取一行。 fgets(file,length) 原文 http://www.w3school.com.cn/php/func_filesystem_fgets.asp
730 0
|
8月前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
451 0
PHP和Mysql前后端交互效果实现
|
前端开发 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
【10月更文挑战第21天】 本文将深入浅出地探讨如何使用PHP与MySQL构建一个动态网站,从环境搭建到项目部署,全程实战演示。无论你是编程新手还是希望巩固Web开发技能的老手,都能在这篇文章中找到实用的技巧和启发。我们将一起探索如何通过PHP处理用户请求,利用MySQL存储数据,并最终呈现动态内容给用户,打造属于自己的在线平台。 ####
708 0
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
562 17
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
446 18
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
501 25
|
SQL 关系型数据库 MySQL
PHP与MySQL的高效交互:从基础到实践####
本文深入探讨了PHP与MySQL数据库之间的高效交互技术,涵盖了从基础连接到高级查询优化的全过程。不同于传统的摘要概述,这里我们直接以一段精简代码示例作为引子,展示如何在PHP中实现与MySQL的快速连接与简单查询,随后文章将围绕这一核心,逐步展开详细讲解,旨在为读者提供一个从入门到精通的实战指南。 ```php <?php // 数据库配置信息 $servername = "localhost"; $username = "root"; $password = "password"; $dbname = "test_db"; // 创建连接 $conn = new mysqli($se
420 31
|
关系型数据库 MySQL PHP
PHP与MySQL的深度整合:构建高效动态网站####
在当今这个数据驱动的时代,掌握如何高效地从数据库中检索和操作数据是至关重要的。本文将深入探讨PHP与MySQL的深度整合方法,揭示它们如何协同工作以优化数据处理流程,提升网站性能和用户体验。我们将通过实例分析、技巧分享和最佳实践指导,帮助你构建出既高效又可靠的动态网站。无论你是初学者还是有经验的开发者,都能从中获得宝贵的见解和实用的技能。 ####
284 27
|
安全 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
——深入探索LAMP栈下的高效数据交互与处理技巧 ####