php fopen函数介绍
fopen函数打开文件或者 URL
语法:
resource fopen( string filename, string mode )
fopen()将 filename 指定的名字资源绑定到一个流上。
参数:
1. filename为尝试打开/创建的文件名。
如果 filename 是 "scheme://..." 的格式,则被当成一个 URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式。如果该协议尚未注册封装协议,PHP 将发出一条消息来帮助检查脚本中潜在的问题并将 filename 当成一个普通的文件名继续执行下去。
如果 PHP 认为 filename 指定的是一个本地文件,将尝试在该文件上打开一个流。该文件必须是 PHP 可以访问的,因此需要确认文件访问权限允许该访问。如果激活了安全模式或者 open_ dir 则会应用进一步的限制。
如果 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() 函数读取并输出。
继续阅读与本文标签相同的文章
下一篇 :
Chrome用十年杀死IE,将沦为又一个IE?
-
手机导航是怎样判断路况的?不仅是通过卫星,这几个原因使导航更智能
2026-05-14栏目: 教程
-
手机信号突然从“4G”变成“E”,是什么意思?客服给出答案
2026-05-14栏目: 教程
-
互联网架起“乌镇式生活”
2026-05-14栏目: 教程
-
微信才是内存“杀手”,别再乱清理,关闭这个功能,手机立马流畅
2026-05-14栏目: 教程
-
手机信号变成E是什么意思?看完专业人士给出的解释后,涨知识了
2026-05-14栏目: 教程
