php 使用fopen函数创建、打开文件详解及实例代码

PHP中没有单独的文件创建函数,如果我们想创建函数,可以使用fopen(),fopen()函数字面意思是打开文件,但该函数也有创建文件功能,当使用 fopen() 函数打开一个文件时,如果文件不存在,则会尝试创建该文件,并返回一个资源。

PHP fopen函数介绍

fopen函数打开文件或者 URL

语法:

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 指定了打开模式,其可能的值如下:

打开模式 文件指针指向文件开始位置文件指针指向文件开始位置文件指针指向文件开始位置并将文件内容清空,如果文件不存在则尝试创建之文件指针指向文件开始位置并将文件内容清空,如果文件不存在则尝试创建之文件指针指向文件末尾来操作,如果文件不存在则尝试创建之文件指针指向文件末尾来操作,如果文件不存在则尝试创建之创建文件,如果文件已存在,则 fopen()调用失败并返回 FALSE创建文件,如果文件已存在,则 fopen()调用失败并返回 FALSE

PHP fopen函数实例

1、使用fopen函数创建文件

rush:js;"> $my_file = 'file.txt';//如果文件不存在(认为当前目录下) $handle = fopen($my_file,'w') or die('Cannot open file: '.$my_file); //implicitly creates file

2、使用fopen函数打开文件

rush:js;"> $my_file = 'file.txt';//假设文件file.txt存在 $handle = fopen($my_file,'w') or die('Cannot open file: '.$my_file); //open file for writing ('w','r','a')...

3、fopen函数结合fread读取文件

rush:js;"> $my_file = 'file.txt'; $handle = fopen($my_file,'r'); $data = fread($handle,filesize($my_file));

4、fopen函数结合fwrite函数文件

rush:js;"> $my_file = 'file.txt'; $handle = fopen($my_file,'w') or die('Cannot open file: '.$my_file); $data = 'This is the data'; fwrite($handle,$data);

5、fopen函数结合fwrite函数文件中追加内容

rush:js;"> $my_file = 'file.txt'; $handle = fopen($my_file,'a') or die('Cannot open file: '.$my_file); $data = 'New data line 1'; fwrite($handle,$data); $new_data = "\n".'New data line 2'; fwrite($handle,$new_data);

6、fopen() 函数还可用于打开互联网上的 URL 地址:

rush:js;">

注意:fopen() 返回的只是一个资源,要想显示打开的页面地址,还需要用 fgets() 函数读取并输出

通过此文希望能帮助到大家,谢谢大家对本站的支持

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
说明