php fopen函数
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函数相关推荐
- c语言fopen函数打不开,[讨论]用fopen函数无法打开文件有哪几种情况
以下是引用czl在2007-11-8 15:13:23的发言: 我都改了 可是 还是不行的 我用的dev-cpp 谢谢了 你讲的很详细 真的很感谢 我用的也是 DEV-C++ 我可以 d1.dat 不 ...
- php fopen 错误,php fopen函数失败怎么办
php fopen函数失败的解决办法:首先通过"set_error_handler("customError");"添加PHP错误报告:然后在php配置文件ph ...
- c语言文件打开函数,C语言fopen函数中文件打开方式(参数值)
满意答案 keaichengb.. 推荐于 2017.09.05 采纳率:40% 等级:12 已帮助:3704人 C语言fopen函数用于打开文件. 函数原型:FILE * fopen(cons ...
- php’s fopen() 函数
fopen() 函数打开文件或者 URL. 如果打开失败,本函数返回 FALSE. fopen(filename,mode,include_path,context) 原文 http://www.w3 ...
- fread、fwrite、fopen函数的简单使用和open、read、write区别解析
这几个函数的区别:fread.fwrite.fopen和open.read.write区别解析 标准C库函数的简单使用 fopen函数原型: #include <stdio.h> FILE ...
- C语言 fopen 函数 - C语言零基础入门教程
目录 一.fopen 函数简介 二.fopen 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.fopen 函数简介 C 语 ...
- C语言中的fopen函数
fopen 函数原型:FILE * fopen(const char * path, const char * mode); 相关函数:open, fclose, fopen_s, _wfopen 返 ...
- matlab fopen函数的用法,matlab中关于fread函数的用法
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:matlab中关于fread函数的用法 问题详情:用fread打开一个时,需要不需要把开放在某个特回答:必须在Matlab可以搜索的 ...
- oracle fopen函数,Utl_File.Fopen异常
我是新的pl-sql,现在我正在编写一个使用Utl_File.Fopen函数的pl-sql过程(在Oracle11上),现在我对以下异常感到疯狂.Utl_File.Fopen异常 这是我的程序: Pr ...
- C语言学习笔记---文件操作 fopen()函数 和 fclose()函数
fopen()函数 在C语言中fopen()函数用来打开文件.该函数声明在stdio.h中.它的第一个参数是待打开文件的名称,更确切的说是一个包含文件名的字符串地址.第二个参数是一个字符串,指定待 ...
最新文章
- AutoML未来可期,工程师的明天何去何从?
- 对python的认识2000字_给那些想学Python的人之2000字谏言
- 全明星基金季卫东: 重仓新经济冠军,投资“幸福生活“
- Go Web:HttpRouter路由(一)
- 分布式与人工智能课程(part10)--图像库的基本使用
- Linux中一些常用的很巧妙的命令
- RedAlert简介
- android java调用_关于Android中Java调用外部命令的三种方式
- 线性基(bzoj 2460: [BeiJing2011]元素)
- Transformer入门Transformer和CNN之间的区别
- [转]ISO镜像工具PowerISO和UltraISO制作ISO光盘镜像教程
- html5添加上下居中,详解HTML5中垂直上下居中的解决方案
- CRM客户管理系统搭建
- python交互式日历制作_python tkinter制作日历界面的简单步骤
- 如何开启Windows远程桌面服务
- Linux驱动——mmc bus浅析(五)
- python绘图设置时间坐标轴_Matplotlib绘图双纵坐标轴设置及控制设置时间格式
- 面试被问离职原因,别乱说
- shell 编程-03-shell脚本简介和 set 的用法
- 太阳系及银河系尺寸的直观概念
热门文章
- iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总,icloudpassbook
- 如何选择合适的分表键,路由规则及分片数
- 【Excel2019(八):IF函数逻辑判断】【使用IF函数+AND函数与OR函数】
- # Ajax提交Form表单以及后端取值(java)
- Python-爬爬爬虫
- 全面解析电商系统的未来发展趋势
- Linux系统级I/O课后作业
- 书画名家郑守宽禽鸟写意花鸟画
- 华为鸿蒙os有必要升级吗,华为鸿蒙OS系统抢先体验,跟安卓系统有差距,看完再决定是否升级...
- 因上班迟到扣3000工资成年人的崩溃在于选错了路