PHP编程中八种常见的文件操作方式

网络整理 - 08-09
文件和目录的操作

PHP处理本地服务器上的文件和目录是非常方便的,但有时候会出现权限和路径相关的问题

1.打开文件

resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )

$handle = fopen(filename,mode)//打开文件,返回代表此文件的资源的句柄

文件名称可以使用相对路径或者绝对路径也可以使用网络协议模式,打开模式具有r\r+\w\w+\a\a+\x\x+\b 在操作二进制文件时如果没有指定 'b' 标记,可能会碰到一些奇怪的问题,包括坏掉的图片文件以及关于 \r\n 字符的奇怪问题。

为移植性考虑,强烈建议在用 fopen() 打开文件时总是使用 'b' 标记。

以下是几种打开文件的方式

$fp = @fopen('log.txt',"rb");

$fp = @fopen('../log.txt',"rb");

$fp = @fopen("","rb");//还可以使用ftp和ghoper等协议,必须启用php.ini文件中的allow_url_fopen选项

////////////////////////////代码部分////////////////////////////////////////

$filename1 = "userinfo.txt";//目录下或include_path中存在这个文件

$filename2 = "test.txt";//目录下或include_path并不存在这个文件

$resource1 = fopen($filename1,"rb");

@$resource2 = fopen($filename2,"rb");//因为目录中不存在这个文件,并且并未使用或include_path寻找包含文件所在路径则此操作会报错,使用错误抑制符@可以迫使浏览器不输出错误信息

if($resource1)

echo "打开文件{$filename1}成功";

if(!@fopen($filename2,"r"))

echo "打开文件{$filename2}不成功";

//////////////////////////////////////////////////////////////////////////

---------------------输出结果----------------------------------------

打开文件userinfo.txt成功

---------------------------------------------------------------------

2.使用完毕文件后,要显式的告诉PHP已经使用完文件,让操作系统确保将文件的所有内容正确地从缓冲区刷新到硬盘

使用fclose()关闭文件,

bool fclose ( resource handle )//关闭一个已打开的文件指针