php 使用fopen函数创建、打开文件详解及实例代码
php中没有单独的文件创建函数,如果我们想创建函数,可以使用fopen(),fopen()函数字面意思是打开文件,但该函数也有创建文件的功能,当使用fopen()函数打开一个文件时,如果文件不存在,则会尝试创建该文件,并返回一个资源。
phpfopen函数介绍
fopen函数打开文件或者URL
语法:
resourcefopen(stringfilename,stringmode)
fopen()将filename指定的名字资源绑定到一个流上。
参数:
1.filename为尝试打开/创建的文件名。
如果filename是"scheme://..."的格式,则被当成一个URL,PHP将搜索协议处理器(也被称为封装协议)来处理此模式。如果该协议尚未注册封装协议,PHP将发出一条消息来帮助检查脚本中潜在的问题并将filename当成一个普通的文件名继续执行下去。
如果PHP认为filename指定的是一个本地文件,将尝试在该文件上打开一个流。该文件必须是PHP可以访问的,因此需要确认文件访问权限允许该访问。如果激活了安全模式或者open_basedir则会应用进一步的限制。
如果PHP认为filename指定的是一个已注册的协议,而该协议被注册为一个网络URL,PHP将检查并确认allow_url_fopen已被激活。如果关闭了,PHP将发出一个警告,而fopen的调用则失败。
2.mode指定了打开模式,其可能的值如下:
打开模式
说明
r
只读,并将文件指针指向文件开始位置
r+
读写,将文件指针指向文件开始位置
w
只写,将文件指针指向文件开始位置并将文件内容清空,如果文件不存在则尝试创建之
w+
读写,将文件指针指向文件开始位置并将文件内容清空,如果文件不存在则尝试创建之
a
追加,将文件指针指向文件末尾来操作,如果文件不存在则尝试创建之
a+
读写追加,将文件指针指向文件末尾来操作,如果文件不存在则尝试创建之
x
只写,并创建文件,如果文件已存在,则fopen()调用失败并返回FALSE
x+
读写,并创建文件,如果文件已存在,则fopen()调用失败并返回FALSE
phpfopen函数实例
1、使用fopen函数创建文件:
$my_file='file.txt';//如果文件不存在(默认为当前目录下) $handle=fopen($my_file,'w')ordie('Cannotopenfile:'.$my_file);//implicitlycreatesfile
2、使用fopen函数打开文件:
$my_file='file.txt';//假设文件file.txt存在 $handle=fopen($my_file,'w')ordie('Cannotopenfile:'.$my_file);//openfileforwriting('w','r','a')...
3、fopen函数结合fread读取文件:
$my_file='file.txt'; $handle=fopen($my_file,'r'); $data=fread($handle,filesize($my_file));
4、fopen函数结合fwrite函数写文件
$my_file='file.txt'; $handle=fopen($my_file,'w')ordie('Cannotopenfile:'.$my_file); $data='Thisisthedata'; fwrite($handle,$data);
5、fopen函数结合fwrite函数向文件中追加内容:
$my_file='file.txt'; $handle=fopen($my_file,'a')ordie('Cannotopenfile:'.$my_file); $data='Newdataline1'; fwrite($handle,$data); $new_data="\n".'Newdataline2'; fwrite($handle,$new_data);
6、fopen()函数还可用于打开互联网上的URL地址:
<?php $fh=fopen("http://www.baidu.com/","r"); if($fh){ while(!feof($fh)){ echofgets($fh); } } ?>
注意:fopen()返回的只是一个资源,要想显示打开的页面地址,还需要用fgets()函数读取并输出。
通过此文希望能帮助到大家,谢谢大家对本站的支持!