fopen() 函数用于打开一个文件或 URL 地址。
fopen() 打开文件
PHP 中没有单独的文件创建函数,创建和打开文件都是用 fopen() 函数。当使用 fopen() 函数打开一个文件时,如果文件不存在,则会尝试创建该文件,并返回一个资源。
如果打开失败,本函数返回 FALSE 。
语法:
resource fopen( string filename, string mode )
参数 filename 为尝试打开/创建的文件名,参数 mode 指定了打开模式,其可能的值如下:
打开模式 | 说明 |
---|---|
r | 只读,并将文件指针指向文件开始位置 |
r+ | 读写,将文件指针指向文件开始位置 |
w | 只写,将文件指针指向文件开始位置并将文件内容清空,如果文件不存在则尝试创建之 |
w+ | 读写,将文件指针指向文件开始位置并将文件内容清空,如果文件不存在则尝试创建之 |
a | 追加,将文件指针指向文件末尾来操作,如果文件不存在则尝试创建之 |
a+ | 读写追加,将文件指针指向文件末尾来操作,如果文件不存在则尝试创建之 |
x | 只写,并创建文件,如果文件已存在,则 fopen() 调用失败并返回 FALSE |
x+ | 读写,并创建文件,如果文件已存在,则 fopen() 调用失败并返回 FALSE |
关于文件指针,参见《PHP 文件指针函数》。
创建一个文件的例子:
<?php if(!file_exists("test.txt")){ //如果文件不存在(默认为当前目录下) $fh = fopen("test.txt","w"); fclose($fh); //关闭文件 } ?>
提示:上述例子中如果 test.txt 已经存在,则不会创建新文件。
fopen() 打开 URL 地址
fopen() 函数还可用于打开互联网上的 URL 地址:
<?php $fh = fopen("http://www.baidu.com/", "r"); if($fh){ while(!feof($fh)) { echo fgets($fh); } } ?>
运行该例子,页面将显示百度首页。
注意:fopen() 返回的只是一个资源,要想显示打开的页面地址,还需要用 fgets() 函数读取并输出。