2.3. 其它文件函数

未匹配的标注

持之以恒,方得始终!

file_exists() 文件是否存在

在不打开文件的前提下,检查一个文件是否存在。
我们知道fopen()中的模式,可以检查文件是否存在的,不存在,也可以自动创建。

if(file_exists("./myorders.txt")) {
    echo "文件存在";
    // 可以打开文件,删除文件,等等
} else {
    echo "文件不存在";
    // 可以创建操作
}

filesize() 获取文件的大小

以字节为单位,返回一个文件的大小。结合 fread() ,可以一次读取整个文件(或者部分)。

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

echo nl2br(fread($fp, filesize("./myorders.txt")));

fclose($fp);

nl2br()\n 转为 html 的 <br>;

unlink() 删除一个文件

unlink("./myorders.txt");

如果无法删除,则返回false,通常,没有访问权限,或该文件不存在,会返回false。

rewind() ,fseek() ,ftell()

这几个函数,可以对文件指针操作,比如获取指针在文件中的位置,或者改变指针的位置。

rewind()

将文件指针复位到文件开始处。

ftell()

以字节为单位,返回指针当前在文件中的位置。

fseek()

fseek(resource $handle, int $offset, int $whence = SEEK_SET): int
将文件指针 fp,从 whence 位置移动 offset 个字节。
whence是可选的,默认值为 SEEK_SET 表示文件的开始处,SEEK_CUR文件指针的当前位置,SEEK_END文件的结束。

rewind() 等价于 fseek($fp, 0);

例子

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

fseek($fp, 4); // 文件指针从0开始,向前偏移4个字节

var_dump(fgetc($fp)); // 或者当前的字符,检查是否确实指针向前走了4字节

echo "当前的文件指针位置:" . ftell($fp) . PHP_EOL;

rewind($fp); // 复位文件指针

echo "rewind后,现在文件指针位置:" . ftell($fp);


// string(1) "-"
// 当前的文件指针位置:5
// rewind后,现在文件指针位置:0

如有任何侵权行为,请通知我删除,谢谢大家!
个人邮箱:865460609@qq.com

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
Junwind
讨论数量: 0
发起讨论 只看当前版本


暂无话题~