PHP - 目录处理

用例君
• 阅读 2464

1、建立目录

创建目录是通过mkdir()函数来实现的,函数语法格式如下:

bool mkdir(string pathname);

本函数建立名为pathname的目录,成功返回true,否则返回false

<?php
if (file_exists("./mrbook"))
    echo "目录已经存在";
else
    mkdir("./mrbook");
?>

2、打开目录

目录作为一种特殊的文件,同样操作它的第一步也是打开。PHP 使用opendir()函数来打开目录,函数声明如下:

resource opendir(string path);

参数path是一个合法的目录路径,成功执行后返回目录的指针;如果不合法,则产生错误信息。

<?php
$demo="./mrbook";
if(is_dir($demo))          //检测是否是一个合法的目录
  if($dir=opendir($demo))  //打开目录
      echo $dir;             //输出目录指针
closedir($demo);           //关闭目录
?>

3、读取目录

PHP中要读取已经打开目录中的数据可以使用readdir()函数。函数声明如下:

string readdir(resource dir_handle);

参数dir_handle为使用opendir()函数打开一个目录返回的目录指针。该函数执行,返回目录中下一个文件名,文件名以在文件系统中的顺序返回。读取结束时返回false。 如下代码,我们在前面已经建立目录./mrbook

<?php
$f_open = "./mrbook";
$i = 0;
if (is_dir($f_open)) {//检测是否是一个合法的目录
    if ($dir = opendir($f_open)) {//打开目录
        while ($con = readdir($dir)) {//读取目录
            $i++;
            echo "$i:$con<br>";//输出目录中的内容
            //1:.
            //2:..
        }
    }
}
closedir($dir);
?>

4、删除目录

既然可以创建设一个目录,那么也可以删除一个目录。删除目录主要通过is_dirrmdir()。两个函数来实现,通过is_dir()来判断获取的文件是否为目录,如果是,则通过rmdir()来删除,否则提示“删除目录失败” 。删除成功返回true,失败则返回falsermdir()函数的语法格式如下:

bool rmdir(string dirname);

<?php
if (!file_exists("./mrbook")) {
    echo "目录不存在";
} else {
    rmdir("./mrbook");
}
?>

注意:删除的目录必须是空的目录。

5、改变目录

PHP中对于已经打开的目录,如果要转到另外一个目录,可以使用chdir()函数来实现该操作。函数声明如下:

bool chdir(string directory);

其中directory为新的目录,成功执行返回true,否则返回false

<?php
$exp = "F:\asp";
$dir = opendir($exp);
echo $dir;
closedir($dir);
$dir = chdir("F:\sum");
echo "<br>.$dir";
?>

6、关闭目录

关闭目录可以使用closedir()函数,函数声明如下:

void closedir(resource dir_handle);

参数dir_handle为使用opendir()函数打开一个目录返回的目录指针。

<?php
$exp = "./mrbook";
$exp = opendir($exp);//打开文件
closedir($exp)//关闭目录
?>
点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
vue 根据接口返回的状态码判断用户登录状态并跳转登录页,登录后回到上一个页面(http拦截器)
背景:后台接口返回code501表示用户是未登录状态,需要登录才可访问;通过http拦截做路由跳转 第一步:src目录下新建http.js文件,内容如下:importAxiosfrom'axios'import{Loading,Message,MessageBox}from'elementui'
莎利亚 莎利亚
4年前
PHP学习笔记之PHP的函数应用
目录一、函数的定义二、自定义函数三、函数的工作原理和结构化编程四、PHP变量的范围五、声明及应用各种形式的PHP函数六、递归函数七、使用自定义函数库一、函数的定义一个被命名的、独立的代码段,它执行特定的任务,并可能给调用它的程序返回一个值。定义中的各部分如下:函数是被命名的:每个函数都
Wesley13 Wesley13
3年前
Java NIO选择器【源码笔记】
目录一、I/O复用模型回顾二、创建选择器1.Pipe函数2.Poll函数三、注册Channel到Selector四、Select返回就绪事件集合一、I/O复用模型回顾!(https://oscimg.oschina.net/oscnet/01e7f742f41c502c3ae941a
Stella981 Stella981
3年前
Linux下安装SVN服务(CentOS7下)
1\.安装centos(我这里使用的是CentOS7)下yum命令即可方便的完成安装$ sudo yum install subversion测试安装是否成功:$ svnserve version2\.建立版本库创建svn数据目录(subversion默认是把/var/svn作为数据根目录的,开
Stella981 Stella981
3年前
LAMP架构之php禁止解析、user_agent限定及php配置文件常规设置
本文索引:禁止某目录PHP解析限制user\_agentPHP相关配置查看PHP配置文件的位置安全函数设定设置时区错误信息日志安全相关的参数禁止某目录PHP解析某些目录可以上传图片等文件,如果不设置禁止PHP
Wesley13 Wesley13
3年前
PHP项目目录结构
PHP项目目录结构原创 2017年11月23日16:02:18标签:php(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fso.csdn.net%2Fso%2Fsearch%2Fs.do%3Fq%3Dphp%26t%3Dblog) /
Stella981 Stella981
3年前
HIVE 时间操作函数
日期函数UNIX时间戳转日期函数: from\_unixtime语法:   from\_unixtime(bigint unixtime\, string format\)返回值: string说明: 转化UNIX时间戳(从19700101 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式举例:hive   selec
Wesley13 Wesley13
3年前
thinkphp第1课:使用thinkphp创建一个项目
一、thinkphp第一课:1、在网站根目录下,建立一个项目名称orange;2、在orange目录下,创建一个入口文件index.php:<?phpdefine('APP\_DEBUG',true);//开启调试模式require('../TP/ThinkPHP.php');?3、下载thinkphp核心包并解压
Stella981 Stella981
3年前
QeePHP中的访问控制配置
(1)\_code/myapp.php文件中: /      访问被拒绝时的错误处理函数     /    protected function _on_access_denied()    {        $message  "";        require(_MYAP
Wesley13 Wesley13
3年前
PHP中的NOW()函数
是否有一个PHP函数以与MySQL函数NOW()相同的格式返回日期和时间?我知道如何使用date()做到这一点,但是我问是否有一个仅用于此的函数。例如,返回:2009120100:00:001楼使用此功能:functiongetDatetimeNow(){
Stella981 Stella981
3年前
Linux中 mkdir 创建文件夹命令
语法mkdir(选项)(参数)选项Z:设置安全上下文,当使用SELinux时有效;m<目标属性或mode<目标属性建立目录的同时设置目录的权限;p或parents若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;version显示版本信息。