PHP进行文件和目录操作,熟悉PHP的文件管理系统。
PHP的目录与文件操作与Linux中的终端命令操作很相似,但都是以函数形式进行的操作
这里将分为目录操作与文件操作两类进行总结
目录操作
1.创建新目录mkdir()
在指定的路径创建一个新的目录操作。函数有三个参数
- 第1参数:路径及目录名称
- 第2参数:目录访问权限
- 第3参数:bool,上层目录不存在时,是否递归创建
$dirname = "./public/a/b/c/d"; // "./"是在当前路径下创建
mkdir($dirname,0777,true);
这里的第二个参数是八进制的表示文件权限的mode,windows下会弱化文件权限的特点,所以这里将类比Linux进行文件访问权限的介绍。
PS.文件访问权限简介
文件权限分为3类
- 可读
- 可写
- 可执行
由3位二进制来表示,0代表否,1代表是。
而3位二进制,从左往右依次代表,读权限,写权限,执行权限。
eg. 111 就是文件的最高权限,可读、可写、可执行,对应二进制转换为10进制就是7
101 对应的文件权限就是,可读、不可写、可执行,对应的二进制转换为5
以此类推
访问限制由由3类使用者组成
- 所有者(用户)
- 所有者所在的组
- 全部用户
文件访问权限是由3位八进制数字来表示当前文件相应用户的使用权限。
每一个八进制数字就是文件权限转换为十进制的数字。
代表着对应不同使用者的权限,从左往右依次是,文件创建用户,用户所在组,所有用户。
eg. 777 每一位都是最高权限,及当前文件,所有者 可读可写可执行,所有者所在组 可读可写可执行,全部用户 可读可写可执行。
755 的权限就为:所有者 可读可写可执行,所有者所在组 可读不可写可执行,全部用户 可读不可写可执行
2.判断是目录is_dir(),目录文件是否存在file_exists()
这两个函数经常一起使用。is_dir()判断当前字符串是否是一个目录,file_exists()判断当前文件是否存在。
$dirname = "./path";
if(file_exists($dirname))
{
echo "{
$dirname}文件存在!";
if(is_dir($dirname))
{
echo "{
$dirname}是一个目录";
}
else
{
echo "{
$dirname<