本篇文章是对PHP中的文件操作进行了详细的分析介绍,需要的朋友参考下
复制代码 代码如下: $path1= "E:/myphp/text.txt"; if(!file_exists($path1)){ echo "文件不存在!"; }else{ $handle1 = fopen($path1, 'r+') or exit("Unable to open file"); // while (!feof($handle1)){ // echo fgets($handle1)."<br>"; // } while(!feof($handle1)){ echo fgetc($handle1); } }
上面的代码阐释了一个简单的文件读取操作。说明下: fopen是打开文件资源。 使用方法: $file=fopen("welcome.txt","r"); 具体意思:第一个参数是文件的路径。后面的参数是要求用何种方式打开文件,有下面几种类型: r 只读。在文件的开头开始。 r+ 读/写。在文件的开头开始。 w 只写。打开并清空文件的内容;如果文件不存在,则创建新文件。 w+ 读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。 a 追加。打开并向文件文件的末端进行写操作,如果文件不存在,则创建新文件。 a+ 读/追加。通过向文件末端写内容,来保持文件内容。 x 只写。创建新文件。如果文件已存在,则返回 FALSE。 x+ 读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。
注释:如果 fopen() 无法打开指定文件,则返回 0 (false)。 比较常用的是前面的4个。 fgetc: string fgetc ( resource$handle ) 返回一个包含有一个字符的字符串,该字符从 handle 指向的文件中得到。碰到 EOF 则返回FALSE。
fgets: string fgets ( int$handle [,int$length ] ) 从 handle 指向的文件中读取一行并返回长度最多为length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定length,则默认为 1K,或者说 1024 字节。 出错时返回 FALSE。
fgetss: string fgetss ( resource$handle [,int$length [,string$allowable_tags ]] ) 和 fgets() 相同,只除了 fgetss 尝试从读取的文本中去掉任何 HTML 和 PHP 标记。(跟fgets()相同,只是他过滤了html和php的标记而已。) 可以用可选的第三个参数指定哪些标记不被去掉。 feof() 函数检测是否已到达文件末尾 (eof)。
//判断文件或目录是否存在 bool file_exists(string filename) 判断文件或目录是否存在,存在则返回真,否则返回假 格式: 复制代码 代码如下: if(file_exists(“hello.txt”)) { Echo “文件存在”; } //打开文件
格式: fopen(filename,mode) 说明:按指定的格式打开指定的文件 filename:要打开的文件名 mode : 打开模式 fopen(“hello.txt”,”w”); 表示以写的方式打开hello.txt文件
//写文件 格式: fwrite(resource,string); 说明:在打开的文件中添加指定的内容 resource:打开的文件 string:要写入的内容 例: $handle = fopen(“hello.txt”,”w”) //若a ,则可追加数据 fwrite($handle,”1\r\n”)
//关闭文件 格式: fclose($handle) 说明:关闭打开的文件 例: $handle = fopen(“hello.txt”,”w”); fclose($handle);
//读取一行数据 格式: fgets(int handle[,int length]) 说明:读取length-1个字符。若没有指定length,则默认字节为1KB, 若遇到换行、EOF或则已经读取了length-1个字符,则程序终止, 出错时候返回false; 例: $handle = fopen(“hello.txt”,”r”); $buffer = fgets($handle,1024); echo $handle; //输出一行信息
//读取整个文件 格式: readfile(filename) 说明:读取整个文件,并输出到浏览器 例: <? readfile(“hello.txt”); ?>
//取文件大小 格式: filesize(filename) 说明:获取指定文件大小,出错返回false 例: filesize(“a.rar”)
//删除文件 格式: unlink() 说明:删除一个文件,成功则返回true,否则返回false 例: unlink(“b.txt”)
//创建目录 格式: mkdir(dirname) 说明:创建一个目录 例:mkdir(“newfolder”); //当前目录下创建新文件夹
//删除目录 格式: rmdir(dirname) 说明:删除一个目录 例:rmdir(“newfolder”);
//取得文件名 格式: basename(filepath) 说明:从指定的路径中返回文件名 例: basename(“c:\mytools\a.txt”) //返回a.txt
//获取文件路径信息 pathinfo(path) 说明:返回文件路径信息,结果保存在数组中,数组下标为 dirname(路径) , basename(文件名) , extension(扩展名) 例:pathinfo(“c:\mytools\a.txt”)
//取绝对路径 格式: realpath(filename) 说明:取指定文件的绝对路径,失败则返回false 例:realpath(“h.txt”) //F:\apache\example\h.txt
//复制文件 格式: copy(source,dest) 说明:将source文件复制到dest处 例:copy(“h.txt”,”newfloder\a.txt”)
//判断是否是目录 格式: is_dir(filename) 说明:判断给定文件名是否是一个目录。如果filename存在并且 为目录,则返回true,否则返回false. 例: 复制代码 代码如下: if(is_dir(“newfolder”)) { echo “是文件目录”; }
//打开目录 格式:opendir(path) 说明:打开一个指定文件目录,返回一个资源标示符 例: $hand = opendir(“.”) //打开根目录
//读取目录 格式: readdir($handle) 说明:读取一个打开的文件目录流 readdir($hand);
//关闭目录 格式: closedir($handle) 说明:关闭一个打开的目录流 例:closedir($hand);
|