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 相关文章推荐
PHP5.0正式发布 不完全兼容PHP4 新增多项功能
Oct 09 PHP
一个PHP+MSSQL分页的例子
Oct 09 PHP
PHP下利用header()函数设置浏览器缓存的代码
Sep 01 PHP
php学习笔记之 函数声明(二)
Jun 09 PHP
php设计模式 Prototype (原型模式)代码
Jun 26 PHP
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
Nov 19 PHP
PHP 读取大文件并显示的简单实例(推荐)
Aug 12 PHP
Zend Framework数据库操作技巧总结
Feb 18 PHP
PHP getDocNamespaces()函数讲解
Feb 03 PHP
Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】
Feb 13 PHP
PHP-FPM的配置与优化讲解
Mar 15 PHP
PHP中的异常处理机制深入讲解
Nov 10 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概述.
2006/10/09 PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
2014/11/01 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
2019/08/03 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
JS 控件事件小结
2012/10/31 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
2013/11/07 Javascript
js全屏显示显示代码的三种方法
2013/11/11 Javascript
js判断客户端是iOS还是Android等移动终端的方法
2013/12/11 Javascript
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
2014/10/14 Javascript
jQuery Mobile框架中的表单组件基础使用教程
2016/05/17 Javascript
jQuery实现鼠标经过购物车出现下拉框代码(推荐)
2016/07/21 Javascript
原生js实现简单的链式操作
2017/07/04 Javascript
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
web前端vue filter 过滤器
2018/01/12 Javascript
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
微信小程序如何获取手机验证码
2018/11/04 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
详解React 条件渲染
2020/07/08 Javascript
[01:32]2016国际邀请赛中国区预选赛CDEC战队教练采访
2016/06/26 DOTA
Python实现的径向基(RBF)神经网络示例
2018/02/06 Python
numpy中三维数组中加入元素后的位置详解
2019/11/28 Python
Python手绘可视化工具cutecharts使用实例
2019/12/05 Python
python对XML文件的操作实现代码
2020/03/27 Python
Selenium向iframe富文本框输入内容过程图解
2020/04/10 Python
Python基于time模块表示时间常用方法
2020/06/18 Python
Django+RestFramework API接口及接口文档并返回json数据操作
2020/07/12 Python
Python语言编写智力问答小游戏功能
2020/10/13 Python
python实现定时发送邮件
2020/12/23 Python
Mansur Gavriel官网:纽约市的一个设计品牌
2019/05/02 全球购物
军训 自我鉴定
2014/02/03 职场文书
音乐学专业求职信
2014/07/22 职场文书
2014年民政局关于保密工作整改措施
2014/09/19 职场文书
春秋淹城导游词
2015/02/11 职场文书
地道战观后感
2015/06/04 职场文书
家长意见书
2015/06/04 职场文书
导游词之茶卡盐湖
2019/11/26 职场文书