php的fopen函数打开文件详解以及如何打开中文名文件
本篇主要学习php的fopen()函数。此函数一般用于打开文件,和file_get_contents()函数的作用差不多。
一、fopen()函数
1、fopen() 函数打开文件或者 URL。如果打开失败,本函数返回 FALSE。打开成功的话,会返回一个资源。
2、fopen(filename,mode,include_path,context)
常用的参数主要是filename和mode。这里的filename代表我们要打开的文件路径或者url的链接。mode是规定要求到该文件/流的访问类型。
具体可参考手册:http://www.w3school.com.cn/php/func_filesystem_fopen.asp
3、常见例子:
1)在E盘下新建文件,text.txt
2)使用下面的代码打开
$file = fopen("E:/text.txt","r");if ($file){//接着采用while循环(后面语言结构语句中的循环结构会详细介绍)一行行地读取文件,然后输出每行的文字while (!feof($file)) { //判断是否到最后一行$line = fgets($file); //读取一行文本echo $line; //输出一行文本echo "<br />"; //换行}}fclose($file);//关闭文件
执行这段代码之后,浏览器上就能输出我们写在text.txt文件中的内容了。
二、feof(),fgets(),fclose()函数讲解
1、feof()函数
1)feof() 函数检测是否已到达文件末尾 (eof)。
如果文件指针到了 EOF 或者出错时则返回 TRUE,否则返回一个错误(包括 socket 超时),其它情况则返回 FALSE。我们上面的代码,在获取到$file资源之后,循环判断是否到了文件结尾,没到结尾的话,就继续执行下面的代码。
2)注意
提示:feof() 函数对遍历长度未知的数据很有用。
注意:如果服务器没有关闭由 fsockopen() 所打开的连接,feof() 会一直等待直到超时而返回 TRUE。默认的超时限制是 60 秒,可以使用 stream_set_timeout() 来改变这个值。
注意:如果传递的文件指针无效可能会陷入无限循环中,因为 EOF 不会返回 TRUE。
2、fgets()函数
1)fgets() 函数从文件指针中读取一行。
3、fclose()
1) fclose() 函数关闭一个打开文件。
fclose() 函数关闭该指针指向的文件。如果成功则返回 true,否则返回 false。文件指针必须有效,并且是通过 fopen() 或 fsockopen() 成功打开的。
三、使用fopen()打开中文名的文件
1、当我把text.txt改成“哈哈.txt”,指向上面的代码。
报错:
也就是说,不能直接用fopen()来打开中文名的文件,这里,我们需要进行一些处理。
2、修改中文名的编码
//使用这行代码即可解决,可以正常的打开文件$file = fopen ( iconv ( 'UTF-8', 'GBK', 'E:/哈哈.txt' ), 'r' );
四、fopen()的一些使用问题
1、fopen()函数的使用比起file_get_contents()函数麻烦一些。在大多数情况下,还是使用file_get_contents()函数要方便一些。file_get_contents()的使用方法:http://blog.csdn.net/LJFPHP/article/details/78552961
2、在打开比较大的文件的时候,使用file_get_contents()函数会加大内存的占用率,这是非常不合适的。因此这种情况下,更建议使用fopen()函数。
3、关于为什么每次使用fopen()函数,后面都要用fclose()函数关闭文件的问题。正常来说php的资源会在脚本结束的时候全部释放掉,因此普遍的情况都可以省略fclose。不过如果你fopen了一个很大的文件,早点fclose会比较节省资源。也算是良好编码习惯的一种。
end
php的fopen函数打开文件详解以及如何打开中文名文件相关推荐
- 计算机科学类专升本复习之“C语言fopen函数的用法”详解(初稿)
C语言fopen函数的用法,C语言打开文件详解 在C语言中,"操作文件" 之前 必须 先"打开文件"; 所谓"打开文件",就是让 " ...
- XML格式文件详解及Java解析XML文件内容方法
XML格式文件详解 1.概述 XML,即可扩展标记语言,XML是互联网数据传输的重要工具,它可以跨越互联网任何的平台,不受编程语言和操作系统的限制,可以说它是一个拥有互联网最高级别通行证的数据携带者. ...
- fopen函数mode参数详解
函数简介: 函数功能:fopen能打开磁盘内的文件,使程序能对文件进行读写. 函数原型:FILE *fopen(const char *path, const char * mode); 传入参数说明 ...
- 痞子衡嵌入式:ARM Cortex-M开发文件详解(3)- 工程文件(.ewp)
出处:https://www.cnblogs.com/henjay724/p/8232585.html 大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的project文件. ...
- 机械师怎么打开计算机管理,详解机械师win10打开fn热键功能教程
不同的电脑品牌对于的fn热键的功能会有一定的差异,熟悉fn热键可以让我们更好的操作系统.有使用机械师电脑的小伙伴想了解机械师fn热键功能有哪些,今天小编就给大家分享些机械师win10打开fn热键功能教 ...
- [学习笔记 ]IAR的链接配置.icf文件详解——RT1052芯片的链接文件
本文主要通过以下几个部分解释IAR中的链接配置icf文件: 1.参考解析IAR的ILink链接器icf配置文件介绍icf文件作用以及icf文件主要内容: 2.介绍icf常使用的命令 3.RT1052芯 ...
- Linux命令 - /etc/group文件详解
Linux命令 - /etc/group文件详解 在Linux /etc/group文件是有关于系统管理员对用户和用户组管理的文件,linux用户组的所有信息都存放在/etc/group文件中.具 ...
- META-INF文件详解
META-INF文件详解 java工程的JAR 文件中,会包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的.该文件中最重要的两个信息是: Cl ...
- centos永久修改主机名以及etc/hosts文件详解
目录 1 在CentOS7中,有三种定义的主机名 2 查看主机名 3 修改主机名 3.1 方法1:临时有效 3.2 方法2:永久生效 4 注意事项 5 etc/hosts文件详解 1 在CentOS7 ...
- c语言fputc输入字符串,C语言fgetc和fputc函数用法详解(以字符形式读写文件)
C语言fgetc和fputc函数用法详解(以字符形式读写文件),文件,字符,指针,函数,字节 C语言fgetc和fputc函数用法详解(以字符形式读写文件) 易采站长站,站长之家为您整理了C语言fge ...
最新文章
- 程序集强命名与GAC
- 光流 | 光流交流群
- 【Linux系统编程】Linux 可执行文件结构与进程结构
- springboot 之Spring Web Mvc Framework
- hive学习07-常见的优化
- 个人博客系统毕业设计开题报告
- [转载] 将整数k转换成实数python表达式_Python程序设计课后习题答案-第一单元
- Hadoop——Yarn(4)
- python编程正方形面积_编程里面的算法真的很难吗?
- [转帖]DRAM芯片战争,跨越40年的生死搏杀
- C++程序设计语言练习4.2 茴字的几种写法
- Python 与金融科技6|上证50的收盘价汇总
- 三十岁,真的是人生的分水岭吗
- Localize a WPF application
- 程序员的薪资为什么这么高?
- 【软件测试】稳定性和可靠性测试在软件开发中的重要性
- 畅游Python 二十一:Web框架 - Tornado
- Lammps切削过程实现及工件表面识别
- fgetc和方fread读不到文件末尾出现ffffff或0时解决方法
- Gephi使用详解 实现图可视化(janusgraph)