这次我们来学习的是一些不是太常用,但却也非常有用的一些函数。它们中有些大家可能见过或者使用过,有一些可能就真的没什么印象了。它们都是 PHP 中文件系统相关操作函数的一部分。存在即合理,或许只是我们的业务开发中还没有接触到而已。
目录判断、创建、删除、路径缓存信息
var_dump(is_dir("./")); // bool(true)
var_dump(disk_free_space("./")); // float(7727517696)
var_dump(disk_total_space("./")); // float(250790436864)
is_dir() 函数估计大家会比较常用,就是用来判断给定的路径是否存在或者是否正常。一般在手动创建目录之前都会使用这个函数来判断一下目录是否已经创建过了,disk_free_space() 和 disk_total_space() 则是获取指定目录的剩余磁盘空间和总的磁盘空间数据的函数。
var_dump(mkdir("./a")); // bool(true)
var_dump(rmdir("./a")); // bool(true)
mkdir() 函数用于创建一个目录,它除了给定的路径参数外,还有一个可选参数可以设置目录的文件权限,这个函数相信大家不会很陌生,大部分的文件上传分目录的能力正是使用 is_dir() 来配合 mkdir() 进行目录创建的。rmdir() 是用于删除目录的,
realpath('./');
var_dump(realpath_cache_size()); // int(673)
realpath_cache_get() 函数用于获取真实目录缓存的详情,我们需要先使用 realpath() 获得一个目录路径,然后就可以看到 realpath_cache_get() 里面的内容。可以看出它返回的数组中,是这条路径从第一个目录到这个目录中的所有目录信息,包括每一级目录的 realpath 、 is_dir 等属性信息。realpath_cache_size() 获取的是真实路径缓冲区的大小,
软连接信息
上篇文章中我们已经学过了如何创建连接文件,这次我们再来看看两个小的关于连接信息的函数。
var_dump(readlink('ltest2.txt')); // "test.txt"
var_dump(is_link('ltest2.txt')); // bool(true)
readlink() 函数用于获得软连接所连接到的真实文件的名称。在上篇文章中,我们创建的 ltest2.txt 文件正是 test.txt 文件的软连接。而 is_link() 函数则用于判断给定的文件是否是一个连接文件。
拷贝、移动、改名、删除文件操作
var_dump(copy('test.txt', 'cp_test.txt')); // bool(true)
var_dump(is_file("cp_test.txt")); // bool(true)
var_dump(move_uploaded_file('test.txt', 'mv_upload_test.txt')); // bool(false)
var_dump(is_file("mv_upload_test.