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


Posted in PHP onSeptember 24, 2016

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

php fopen函数介绍

fopen函数打开文件或者 URL

语法:

resource fopen( string filename, string mode )

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

 

php fopen函数实例

1、使用fopen函数创建文件:

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

2、使用fopen函数打开文件:

$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读取文件:

$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') or die('Cannot open file: '.$my_file);
$data = 'This is the data';
fwrite($handle, $data);

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

$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 地址:

<?php
$fh = fopen("http://www.baidu.com/", "r");
if($fh){
  while(!feof($fh)) {
    echo fgets($fh);
  }
}
?>

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

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

PHP 相关文章推荐
PHP学习之PHP运算符
Oct 09 PHP
PHP的ASP防火墙
Oct 09 PHP
PHP静态新闻列表自动生成代码
Jun 14 PHP
PHP开发规范手册之PHP代码规范详解
Jan 13 PHP
解析mysql 表中的碎片产生原因以及清理
Jun 22 PHP
以文件形式缓存php变量的方法
Jun 26 PHP
py文件转exe时包含paramiko模块出错解决方法
Aug 12 PHP
分享PHP-pcntl 实现多进程代码
Sep 30 PHP
PHP读取zip文件的方法示例
Nov 17 PHP
php获取访问者浏览页面的浏览器类型
Jan 23 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
Sep 12 PHP
关于Laravel参数验证的一些疑与惑
Nov 19 PHP
php fread读取文件注意事项
Sep 24 #PHP
一个简单安全的PHP验证码类、PHP验证码
Sep 24 #PHP
jquery不支持toggle()高(新)版本的问题解决
Sep 24 #PHP
php getcwd与dirname(__FILE__)区别详解
Sep 24 #PHP
mysql desc(DESCRIBE)命令实例讲解
Sep 24 #PHP
mysql alter table命令修改表结构实例详解
Sep 24 #PHP
Ajax和PHP正则表达式验证表单及验证码
Sep 24 #PHP
You might like
PHP学习之数组的定义和填充
2011/04/17 PHP
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
2012/01/03 PHP
探讨GDFONTPATH能否被winxp下的php支持
2013/06/21 PHP
PHP+MYSQL会员系统的开发实例教程
2014/08/23 PHP
Zend Framework框架Smarty扩展实现方法
2016/03/22 PHP
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
2011/09/19 Javascript
file模式访问网页时iframe高度自适应解决方案
2013/01/16 Javascript
Jquery选择子控件&quot;大于号&quot;和&quot; &quot;区别介绍及使用示例
2013/06/25 Javascript
jquery实现checkbox 全选/全不选的通用写法
2014/02/22 Javascript
原生JS实现拖拽图片效果
2020/08/27 Javascript
Nodejs Stream 数据流使用手册
2016/04/17 NodeJs
每个程序员都需要学习 JavaScript 的7个理由小结
2016/09/03 Javascript
nodejs实现简单的gulp打包
2017/12/21 NodeJs
Node.js使用MySQL连接池的方法实例
2018/02/11 Javascript
JavaScript 跨域之POST实现方法
2018/05/07 Javascript
Bootstrap 模态框自定义点击和关闭事件详解
2018/08/10 Javascript
Javascript查看大图功能代码实现
2020/05/07 Javascript
详解Python的Django框架中的templates设置
2015/05/11 Python
Python中pygal绘制雷达图代码分享
2017/12/07 Python
Python基于win32ui模块创建弹出式菜单示例
2018/05/09 Python
使用pycharm设置控制台不换行的操作方法
2019/01/19 Python
pytorch masked_fill报错的解决
2020/02/18 Python
python新式类和经典类的区别实例分析
2020/03/23 Python
Python2.x与3​​.x版本有哪些区别
2020/07/09 Python
CSS3 background-image颜色渐变的实现代码
2018/09/13 HTML / CSS
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
项目管理计划书
2014/01/09 职场文书
初中军训感想300字
2014/03/05 职场文书
2014学雷锋活动总结
2014/03/09 职场文书
档案信息化建设方案
2014/05/16 职场文书
环保标语口号
2014/06/13 职场文书
检讨书范文1000字
2015/01/28 职场文书
求职自荐信怎么写
2015/03/04 职场文书
史上最全的军训拉歌口号
2015/12/25 职场文书
Python绘制地图神器folium的新人入门指南
2021/05/23 Python