定制小程序开发【网络安全篇】PHP文件与目录操作(一文带你手撕迷茫)

🏆定制小程序开发今日学习目标:
🍀学习PHP定制小程序开发定制小程序开发文件与目录操作
✅创作者:贤鱼
⏰预计时间:25分钟
🎉个人主页:
🔥专栏系列:
🍁定制小程序开发贤鱼的个人社区,定制小程序开发欢迎你的加入

PHP文件与目录操作

定制小程序开发路径与磁盘操作🍀

定制小程序开发相对路径和绝对路径

绝对路径

定制小程序开发以当前文件所在盘符为定制小程序开发起点的路径

举个例子:
例如图片1.png

定制小程序开发这个图片的绝对路径就是

D:\谷歌\123\1.png

我们来分开讲解一下这一串路径代表的内容

  • D:(指的是盘符
  • \ (带表的是目录分隔符
  • 提示:(windows操作系统支持正斜线和反斜线,其它系统支持正斜线/,所以正斜线可以减少兼容性问题)

    相对路径

    以操作的文件所在的目录为起点的路径

    这是一个相对的概念,不同的参照物写的所对应的路径也不相同

    为什么这么说的
    举个例子吧:
    假设我们以 1.png作为参照物

  • 1.txt
  • ./1.txt(1前面有个 点.)

  • 2.txt
  • ../2.txt(2前面两个点)

    解释一下吧

  • 1.txt作为同级目录下的文件,所以前面只需要1个点,这一个点就代表当前目录
  • 2.txt作为下层目录,1.png就是2.txt的上层目录,这里两个点就代表上层目录
  • 相信大家已经了解了相对路径和绝对路径

    文件路径信息获取

    在这之前我们需要先理解一些概念

    路径:
    /love/xianyu.txt

  • 目录名(dirname)为/love
  • 带有文件拓展名(basename)为 xianyu.txt
  • 拓展名(extension)为.txt
  • 文件名(filename)为 xianyu
  • 下面进入正文

    • pathinfo()

    为了获取指定的路径和文件名,可以使用pathinfo()函数,这个函数会·返回一个关联数组

    <?php$xianyu = "/love/xianyu.php";$result = pathinfo($xianyu);foreach($result as $key=>$value){    echo "$key=>$value\";}?>/*输出:dirname=>/lovebasename=>xianyu.phpextension=>phpfilename=>xianyu*/
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    文件名快速获取

    • basename()

    basename()函数,快速获取指定文件文件名部分,不用从数组中读取

    <?php$xianyu = "/love/xianyu.php";echo $filepath."中的文件名是:".basename($xianyu);?>/*中的文件名是:xianyu.php*/
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    路径中目录部分快速获取

    • dirname()

    使用 dirname() 函数,可以快速获取指定文件目录部分

    <?php$filepath = "/love/xianyu.php";echo $filepath."中的路径部分是:". dirname($filepath);?>/*/love/xianyu.php中的路径部分是:/love*/
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    目录操作

    打开和关闭目录

    句柄:

    • opendir() , closedir()

    句柄可以被认为是一个返回值,有了句柄就可以对打开的目录进行操作

    <?php$dir = "images";if($dir_handle = opendir($dir)){echo "获取目录句柄成功!";closedir($dir_handle); //记得释放句柄}else{echo "打开目录错误";}?>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    打开images目录


    • 释放句柄

    为什么要释放句柄呢,如果不释放句柄就好比你和一堆人用一个笔记本写字,你拿走了不放回去别人就无法写字 所以释放句柄可以节省服务器资源

    创建目录

    <?phpmkdir("123")?>
    • 1
    • 2
    • 3

    删除目录

    <?phprmdir("123")?>
    • 1
    • 2
    • 3

    获取当前工作目录

    <?phpecho getcwd()?>
    • 1
    • 2
    • 3

    改变当前工作目录

    <?phpecho getcwd() . '<br>'; // 显示当前目录chdir('hhh'); //改变当前目录echo getcwd() . '<br>'; // 显示当前目录?>
    • 1
    • 2
    • 3
    • 4
    • 5

    获取目录句柄条目

    • readdir()

    将一个参数名作为参数传递给函数readdir(),这个函数能返回目录下所有子目录和文件

    注意:调用一次返回一个!!

    <?phpif ($handle = opendir('.')) {while (false !== ($file = readdir($handle))) {echo "$file\";}closedir($handle);}?>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    读取目录条目

    • scandir()

    直接返回指定目录下文件和子目录,并且按照要求排序(默认字母升序)

    <?php$dir1 = scandir("D:\新建文件夹 (2)");$dir2 = scandir("D:\新建文件夹 (2)",1);//降序排列print_r($dir1);print_r($dir2)?>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    文件操作🍀

    操作文件的一般步骤即:打开,读取或写入,关闭

    由于目录和文件本质上都属于文件,除了使用函数不同,很多操作都是相通的

    一般操作

    判断文件是否存在

    <?phpif(file_exists("test.txt")){//如果文件存在就执行操作}?>//如果文件存在返回true,不存在返回false
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    创建,打开,关闭文件

    • fopen(), fclose()

    <?php//以只读方式打开文件,将文件指针指向文件头$handle = fopen("test.txt", "r");//以读写方式打开,将文件指针指向文件头$handle = fopen("test.txt", "r+");//以写入方式打开,将文件指针指向文件头,并将文件大小截为0。如果文件不存在则尝试创建。$handle = fopen("test.txt", "w");//以读写方式打开,将文件指针指向文件头,并将文件大小截为0。如果文件不存在则尝试创建。$handle = fopen("test.txt", "w+");//以写入方式打开文件,将文件指针指向文件末尾。如果文件不存在则尝试创建。$handle = fopen("test.txt", "a");//以读写方式打开文件,将文件指针指向文件末尾。如果文件不存在则尝试创建。$handle = fopen("test.txt", "a+");fclose()?>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    读取文件

    • fread(), file_get_contents(), file()

    <?php//需要使用fopen,fread,fclose来进行文件的读取操作$filename = "test.txt";$handle = fopen($filename, "r");$contents = fread($handle, filesize($filename)); //fread需要传入两个参数,第一个参数为文件句柄,第二个参数为最大读取的字节数fclose($handle);//更加简洁的方式file_get_contents($filename)?>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    写入文件

    • fwrite(), file_put_contents()

    <?php//需要fopen,fwrite,fclose来进行文件的写入操作$handle = fopen("test.txt","w");fwrite($handle,"添加文字到文件中");//fwrite接受两个参数作为输入,$handle为文件句柄,"添加文字到文件中"为需要写入的内容fclose($handle);//更加简洁的方式file_put_contents("test.txt", "使用file_put_contents()函数写入的内容")?>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    文件和目录基本操作

    删除文件

    • unlink()

    <?php$file = "temp.txt";unlink($file);?>
    • 1
    • 2
    • 3
    • 4

    复制文件

    • copy()

    <?php$sourceFile = "html/cache.txt"; //被复制的文件必须确保存在$targetFile = "html/copyCache.txt";copy($sourceFile, $targetFile)?>
    • 1
    • 2
    • 3
    • 4
    • 5

    移动,重命名文件或目录

    • rename()

    <?php//使用rename()函数重命名一个文件或目录rename('test.txt', 'rename.txt') //将test.txt文件重命名为rename.txtrename('test','rename') //将test目录重命名为rename//使用rename()函数移动文件,并改名rename("test.txt","test/a.txt");//将test.txt移动到test文件夹下,并改名为a.txt//使用rename()函数移动目录到目标目录rename("test","html/test");?>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    结束语🏆

    本期的分享就到这里,对网络安全方面知识感兴趣的可以订阅一下专栏奥

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发