您现在的位置:主页 > 编程 > Php编程 > 正文

PHP编程文件如何操作?可操作方式有哪些?八种常见的文件操作方式详解

时间:2018-08-06 19:00    来源:未知     浏览次数:     
PHP编程文件如何操作?可操作方式有哪些?八种常见的文件操作方式详解 文件和目录的操作 PHP处理本地服务器上的文件和目录是非常方便的,但有时候会出现权限和路径相关的问题

 

PHP编程文件如何操作?可操作方式有哪些?八种常见的文件操作方式详解

 

 

文件和目录的操作 

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("http://www.runer.com.cn/default.htm","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([email protected]($filename2,"r")) 

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

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

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

打开文件userinfo.txt成功 

 

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

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

使用fclose()关闭文件, 

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

3.读取文件,fopen函数的mode参数允许读取,PHP提供了几个函数从文件读取数据 

string fgets ( int handle [, int length] )从文件指针中读取一行,在二进制文件上尝试fgets会产生不可预测的结果 

如果不指定长度,默认读取1K数据,碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止 

string fgetss ( resource handle [, int length [, string allowable_tags]] )从文件指针中读取一行并过滤掉 HTML 标记 

fgetc()读取单个字符 

fread()读取任意二进制数据 

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

$handle = fopen ("test.jpg", "rb"); 

$c; 

while (!feof($handle)) { 

$contents .= @fread($handle, 8192);//循环读取并将其合并为一个大块文件 

fclose($handle); 

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

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

 

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

4.判断文件读取的状态 

每个文件句柄都有一个文件指针,或者一个指出下一个操作将在文件中哪里发生的游标,根据fopen函数的mode参数 

文件指针最初位于文件的开头(0),或者文件的末尾 

feof()可以判断文件是否已经到末尾(到末尾后函数返回TRUE) 

filesize()函数返回文件的大小 5.写入文件 

fwrite()函数执行文件写入 

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

$filename = 'test.txt'; 

$somec; 

// 首先我们要确定文件存在并且可写。 

if (is_writable($filename)) { 

// 在这个例子里,我们将使用添加模式打开$filename, 







分享到:
相关阅读:
如果你对恒超商务有任何意见或建议,请到交流平台反馈。
企业服务
赞助商
栏目列表:
点击排行