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函数创建文件:

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

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

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

1
2
3
$my_file = 'file.txt' ;
$handle = fopen($my_file, 'r' );
$data = fread($handle,filesize($my_file));

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

1
2
3
4
$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函数向文件中追加内容:

1
2
3
4
5
6
$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 地址:

1
2
3
4
5
6
7
8
<?php
$fh = fopen( "http://www.baidu.com/" , "r" );
if ($fh){
   while (!feof($fh)) {
     echo fgets($fh);
   }
}
?>

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

php fopen函数相关推荐

  1. c语言fopen函数打不开,[讨论]用fopen函数无法打开文件有哪几种情况

    以下是引用czl在2007-11-8 15:13:23的发言: 我都改了 可是 还是不行的 我用的dev-cpp 谢谢了 你讲的很详细 真的很感谢 我用的也是 DEV-C++ 我可以 d1.dat 不 ...

  2. php fopen 错误,php fopen函数失败怎么办

    php fopen函数失败的解决办法:首先通过"set_error_handler("customError");"添加PHP错误报告:然后在php配置文件ph ...

  3. c语言文件打开函数,C语言fopen函数中文件打开方式(参数值)

    满意答案 keaichengb.. 推荐于 2017.09.05 采纳率:40%    等级:12 已帮助:3704人 C语言fopen函数用于打开文件. 函数原型:FILE * fopen(cons ...

  4. php’s fopen() 函数

    fopen() 函数打开文件或者 URL. 如果打开失败,本函数返回 FALSE. fopen(filename,mode,include_path,context) 原文 http://www.w3 ...

  5. fread、fwrite、fopen函数的简单使用和open、read、write区别解析

    这几个函数的区别:fread.fwrite.fopen和open.read.write区别解析 标准C库函数的简单使用 fopen函数原型: #include <stdio.h> FILE ...

  6. C语言 fopen 函数 - C语言零基础入门教程

    目录 一.fopen 函数简介 二.fopen 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.fopen 函数简介 C 语 ...

  7. C语言中的fopen函数

    fopen 函数原型:FILE * fopen(const char * path, const char * mode); 相关函数:open, fclose, fopen_s, _wfopen 返 ...

  8. matlab fopen函数的用法,matlab中关于fread函数的用法

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:matlab中关于fread函数的用法 问题详情:用fread打开一个时,需要不需要把开放在某个特回答:必须在Matlab可以搜索的 ...

  9. oracle fopen函数,Utl_File.Fopen异常

    我是新的pl-sql,现在我正在编写一个使用Utl_File.Fopen函数的pl-sql过程(在Oracle11上),现在我对以下异常感到疯狂.Utl_File.Fopen异常 这是我的程序: Pr ...

  10. C语言学习笔记---文件操作 fopen()函数 和 fclose()函数

    fopen()函数   在C语言中fopen()函数用来打开文件.该函数声明在stdio.h中.它的第一个参数是待打开文件的名称,更确切的说是一个包含文件名的字符串地址.第二个参数是一个字符串,指定待 ...

最新文章

  1. AutoML未来可期,工程师的明天何去何从?
  2. 对python的认识2000字_给那些想学Python的人之2000字谏言
  3. 全明星基金季卫东: 重仓新经济冠军,投资“幸福生活“
  4. Go Web:HttpRouter路由(一)
  5. 分布式与人工智能课程(part10)--图像库的基本使用
  6. Linux中一些常用的很巧妙的命令
  7. RedAlert简介
  8. android java调用_关于Android中Java调用外部命令的三种方式
  9. 线性基(bzoj 2460: [BeiJing2011]元素)
  10. Transformer入门Transformer和CNN之间的区别
  11. [转]ISO镜像工具PowerISO和UltraISO制作ISO光盘镜像教程
  12. html5添加上下居中,详解HTML5中垂直上下居中的解决方案
  13. CRM客户管理系统搭建
  14. python交互式日历制作_python tkinter制作日历界面的简单步骤
  15. 如何开启Windows远程桌面服务
  16. Linux驱动——mmc bus浅析(五)
  17. python绘图设置时间坐标轴_Matplotlib绘图双纵坐标轴设置及控制设置时间格式
  18. 面试被问离职原因,别乱说
  19. shell 编程-03-shell脚本简介和 set 的用法
  20. 太阳系及银河系尺寸的直观概念

热门文章

  1. iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总,icloudpassbook
  2. 如何选择合适的分表键,路由规则及分片数
  3. 【Excel2019(八):IF函数逻辑判断】【使用IF函数+AND函数与OR函数】
  4. # Ajax提交Form表单以及后端取值(java)
  5. Python-爬爬爬虫
  6. 全面解析电商系统的未来发展趋势
  7. Linux系统级I/O课后作业
  8. 书画名家郑守宽禽鸟写意花鸟画
  9. 华为鸿蒙os有必要升级吗,华为鸿蒙OS系统抢先体验,跟安卓系统有差距,看完再决定是否升级...
  10. 因上班迟到扣3000工资成年人的崩溃在于选错了路