PHP操作文件

1、打开文件fopen()

1)描述:打开文件或者 URL
2)语法:resource fopen ( string filename,stringfilename , stringfilename,stringmode )
3)参数:公式输入有误mode,指定文件的打开方式。
4)提示:为移植性考虑,在用 fopen()打开文件时总是使用 'b' 标记。
5)返回值:成功时返回文件指针资源,如果打开失败,本函数返回 FALSE。

2、打开文件的方式
图片.png
图片.png
3、关闭文件fclose()

1)描述:关闭一个已打开的文件指针
2)语法:bool fclose ( resource 公式输入有误handle必须是由fopen()打开的文件指针。

4、读取指定大小文件内容fread()

1)描述:读取文件(可安全用于二进制文件)
2)语法:string fread ( resource handle,inthandle , inthandle,intlength )
3)参数:公式输入有误length最多读取的字节数。
4)提示:在区分二进制文件和文本文件的系统上(如 Windows)打开文件时,fopen() 函数的 mode 参数要加上 ‘b’。
5)返回值:返回所读取的字符串, 或者在失败时返回 FALSE。
示例代码:
//声明文件类型为image/jpeg(MIME)
header('content-type:image/jpeg');
公式输入有误handle=fopen(公式输入有误str1=fread(handle,filesize(handle,filesize(handle,filesize(filename));
//输出图像
echo $str1;

图片.png
图片.png
5、读取一行内容fgets()

1)描述:从文件指针中读取一行
2)语法:string fgets ( resource handle[,inthandle [, inthandle[,intlength ] )
3)参数:
a、公式输入有误length:从 handle指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。
4)返回值:从指针 handle 指向的文件中读取了 length - 1 字节后返回字符串。 如果文件指针中没有更多的数据了则返回 FALSE。
示例代码:

    $filename='./mark/bin.txt';
    //返回文件指针资源
    $handle=fopen($filename,'rb');

    //读取文件一行内容
    $str1=fgets($handle);
    echo iconv('gbk','utf-8',$str1).'<br>';

    // //读取文件全部内容
    // $str2=fread($handle,filesize($filename));
    // echo iconv('gbk','utf-8',$str2); 
    
    // 关闭一个已打开的文件指针
    fclose($handle);
图片.png
图片.png
图片.png
图片.png
图片.png
图片.png
6、读取文件内容到数组中file()

1)描述:把整个文件读入一个数组中
2)语法:array file ( string filename[,intfilename [, intfilename[,intflags = 0 ] )
3)参数:
a、公式输入有误flags,附加选项;
c、FILE_USE_INCLUDE_PATH(1):在include_path 中查找文件;
d、FILE_IGNORE_NEW_LINES(2):在数组的每个元素末尾不添加换行符;
e、FILE_SKIP_EMPTY_LINES(4):跳过空行。
4)注意:不需要打开文件和关闭文件。

图片.png
图片.png
7、读取文件内容到字符串中file_get_contents()

1)描述:将整个文件读入一个字符串,不需要打开文件和关闭文件。
2)语法:string file_get_contents ( string $filename )

3)返回:返回读取的数据,或在失败时返回false。
图片.png
图片.png
图片.png
图片.png
8、写入文件

1)描述:写入文件(可安全用于二进制文件)
2)语法:int fwrite ( resource handle,stringhandle , stringhandle,stringstring )
3)返回:返回写入的字符数,出现错误时则返回 FALSE 。

图片.png
图片.png
注意:第八行回车后的第九行前边不能有空格,必须靠最左边,不然结果会写入空格。
9、将一个字符串写入文件

1)描述:和依次调用 fopen(),fwrite()以及 fclose() 功能一样。
2)语法:int file_put_contents ( string filename,mixedfilename , mixedfilename,mixeddata [, int 公式输入有误filename要被写入数据的文件名。
b、公式输入有误flags附加选项。
d、FILE_USE_INCLUDE_PATH(1) 在 include 目录里搜索 filename
e、FILE_APPEND(8)如果文件 filename已经存在,追加数据而不是覆盖。
f、LOCK_EX(2)在写入时获得一个独占锁。
4)提示:如果文件不存在,则会自动创建。如果文件过大,不能一次性处理。
5)返回:该函数将返回写入到文件内数据的字节数,失败时返回FALSE。

图片.png
图片.png
10、拷贝文件

1)描述:将文件从 source 拷贝到 dest。
2)语法:bool copy ( string source,stringsource , stringsource,stringdest )
3)提示:如果目标文件存在,则会覆盖。

图片.png
图片.png
11、删除文件

1)语法:bool unlink ( string $filename )
2)返回:成功时返回 TRUE, 或者在失败时返回 FALSE。
3)提示:可以删除虚拟空间之外的文件,但必须使用相对路径(../),但必须有权限。

4)注意:删除的文件不会进入回收站。
图片.png
图片.png
12、header函数相关

网页跳转:header(“location:index.html”)
网页刷新:header(“refresh:3; url=index.html”)
网页字符集:header(“content-type:text/html;charset=utf-8”)
声明内容为图片:header(“content-type:image/png”)
附件处理方式:header(“content-disposition:attachment;filename=filename”)
声明文件内容类型为八位字节流:header(“content-type:application/octet-stream”)

13、其它的文件操作函数

1)filesize(),可以获取文件大小,单位为字节。
2)is_writable(),判断文件是否可写。
3)is_readable(),判断文件是否可读。
4)feof(),判断文件指针是否到达文件结尾。
5)filectime(),获取创建文件的时间。
6)fileatime(),获取文件最新访问时间。
7)filemtime(),获取文件最后修改时间。
示例代码:

        $filename='./mark/bin.txt';
echo "bin.txt文件大小:".filesize($filename)."字节<br>";
echo "bin.txt文件可写性:".is_writable($filename)."<br>";
echo "bin.txt文件可读性:".is_readable($filename)."<br>";
echo "bin.txt文件创建时间:".
    date('Y-m-d h:i:s',filectime($filename))."<br>";
echo "bin.txt文件最新访问时间:".
    date('Y-m-d h:i:s',fileatime($filename))."<br>";
echo "bin.txt文件最后修改时间:".
    date('Y-m-d h:i:s',filemtime($filename))."<br>";
$handle=fopen($filename,'rb');

//通过判断文件指针是否到达结尾,来循环读取文件的所有行内容  
while(!feof($handle)){
    echo fgets($handle)."<br>";
}
结果如下:
图片.png
图片.png

猜你喜欢

转载自blog.csdn.net/csdn_heshangzhou/article/details/80878423