>  기사  >  백엔드 개발  >  이 기사에서는 PHP의 파일 및 디렉토리 작업을 안내합니다.

이 기사에서는 PHP의 파일 및 디렉토리 작업을 안내합니다.

青灯夜游
青灯夜游앞으로
2022-12-23 19:56:125893검색

PHP에서 파일 및 디렉터리 작업을 수행하는 방법은 무엇입니까? 다음 기사는 HP 파일 및 디렉토리 작업에 대한 심층적인 이해를 제공할 것입니다. 도움이 되기를 바랍니다.

이 기사에서는 PHP의 파일 및 디렉토리 작업을 안내합니다.

경로 및 디스크 작업


상대 및 절대 경로

절대 경로: 현재 파일이 있는 드라이브 문자부터 시작 located Path

예:
예를 들어 그림 1.png
이 기사에서는 PHP의 파일 및 디렉토리 작업을 안내합니다.
이 그림의 절대 경로는

D:Google1231.pngD:谷歌1231.png

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

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

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

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

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

이 기사에서는 PHP의 파일 및 디렉토리 작업을 안내합니다.

이 기사에서는 PHP의 파일 및 디렉토리 작업을 안내합니다.

  • 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\n";
}
?>
/*
输出:
dirname=>/love
basename=>xianyu.php
extension=>php
filename=>xianyu
*/

文件名快速获取:basename()

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

<?php
$xianyu = "/love/xianyu.php";
echo $filepath."中的文件名是:".basename($xianyu);
?>
/*
中的文件名是:xianyu.php
*/

路径中目录部分快速获取:dirname()

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

<?php
$filepath = "/love/xianyu.php";
echo $filepath."中的路径部分是:". dirname($filepath);
?>
/*
/love/xianyu.php中的路径部分是:/love
*/

目录操作


打开和关闭目录

句柄:

  • opendir() , closedir()

句柄可以被认为是一个返回值

이 일련의 경로를 별도로 설명하겠습니다. 콘텐츠를 나타냅니다
  • D:

    (드라이브 문자 참조

(표는 디렉터리 구분 기호입니다

이 기사에서는 PHP의 파일 및 디렉토리 작업을 안내합니다.팁:
(Windows 운영 체제는 슬래시와 백슬래시를 지원하고 다른 시스템은 슬래시/ 를 지원하므로 슬래시를 사용할 수 있습니다. 호환성 문제 감소) 이 기사에서는 PHP의 파일 및 디렉토리 작업을 안내합니다.

  • 상대 경로:

    운영 파일이 위치한 디렉터리에서 시작하는 경로

이것은 상대적 개념이며, 다른 참조 작성된 개체에 해당하는 경로는 다음과 같습니다. 역시 다릅니다

🎜이렇게 말하는 이유는🎜 예를 들면:🎜1 .png🎜참조🎜🎜🎜여기에 이미지 설명 삽입 🎜🎜여기에 이미지 삽입 설명🎜
  • 1.txt🎜🎜🎜🎜./1.txt (1 앞에 점이 있습니다.)🎜🎜🎜
  • 2.txt🎜 🎜🎜🎜 ../2.txt (2 앞에 점 2개)🎜🎜🎜설명해주세요🎜🎜
  • 1.txt 같은 디렉터리에 있는 파일🎜이므로 앞에 점 하나만 있으면 됩니다. 이 점은 현재 디렉터리를 나타냅니다🎜
  • 2.txt는 하위 디렉토리🎜, 1.png는 2.txt🎜의 상위 디렉토리입니다. 여기서 두 점은 상위 디렉토리를 나타냅니다🎜🎜🎜이미 상대 경로와 절대 경로를 이해하셨을 거라 믿습니다🎜 🎜🎜🎜🎜 파일 경로 정보 얻기🎜🎜🎜🎜이 작업을 수행하기 전에 몇 가지 개념을 이해해야 합니다🎜🎜🎜🎜Path:🎜/love/xianyu .txt🎜 🎜
    • 디렉터리 이름(dirname)은 /love🎜
    • 파일 확장자(basename)는 xianyu.txt🎜확장자명(확장자)은 .txt🎜
    • 파일명(filename)은 xianyu🎜🎜🎜🎜아래 내용을 입력해주세요🎜🎜🎜🎜🎜pathinfo()🎜🎜🎜🎜 🎜순서대로 로 지정된 경로와 파일 이름을 얻으려면 연관 배열🎜🎜
      <?php
      $dir = "images";
      if($dir_handle = opendir($dir))
      {
      echo "获取目录句柄成功!";
      closedir($dir_handle); //记得释放句柄
      }
      else
      {
      echo "打开目录错误";
      }
      ?>
      🎜을 반환하는 pathinfo() 함수를 사용할 수 있습니다. 🎜🎜🎜빠른 파일 이름 가져오기:basename()🎜🎜🎜🎜🎜🎜basename() 함수, 배열🎜🎜
      <?php
      mkdir("123")
      ?>
      🎜
      🎜 🎜에서 읽지 않고 지정된 파일의 <code>파일 이름 부분을 빠르게 가져옵니다 🎜경로의 디렉터리 부분을 빠르게 가져옵니다: dirname()🎜🎜🎜🎜🎜지정된 파일의 디렉터리빠르게 가져오려면 <code>dirname() 함수를 사용하세요. >섹션 🎜🎜
      <?php
      rmdir("123")
      ?>
      🎜
      🎜🎜디렉터리 작업 🎜🎜

      🎜

      🎜

      🎜디렉토리 열기 및 닫기🎜 🎜

      🎜Handle: 🎜🎜🎜🎜opendir(), Closedir()🎜🎜🎜🎜🎜핸들을 반환 값으로 간주할 수 있습니다. 디렉토리 열기🎜🎜
      <?php
      echo getcwd()
      ?>
      🎜🎜이미지 디렉토리 열기🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜손잡이를 풀어주세요🎜🎜🎜🎜왜 손잡이를 놓지 않으면 너랑 무리 같으니? 의 사람들이 노트북에 글을 쓰고 있습니다. 다른 사람들은 글을 쓸 수 없으므로, 핸들을 놓으면 서버 리소스가 절약됩니다🎜

      创建目录

      <?php
      mkdir("123")
      ?>

      删除目录

      <?php
      rmdir("123")
      ?>

      获取当前工作目录

      <?php
      echo getcwd()
      ?>

      改变当前工作目录

      <?php
      echo getcwd() . &#39;<br>&#39;; // 显示当前目录
      chdir(&#39;hhh&#39;); //改变当前目录
      echo getcwd() . &#39;<br>&#39;; // 显示当前目录
      ?>

      获取目录句柄条目

      • readdir()

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

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

      <?php
      if ($handle = opendir(&#39;.&#39;)) {
      while (false !== ($file = readdir($handle))) {
      echo "$file\n";
      }
      closedir($handle);
      }
      ?>

      이 기사에서는 PHP의 파일 및 디렉토리 작업을 안내합니다.

      读取目录条目

      • scandir()

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

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

      이 기사에서는 PHP의 파일 및 디렉토리 작업을 안내합니다.

      이 기사에서는 PHP의 파일 및 디렉토리 작업을 안내합니다.

      文件操作


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

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

      一般操作

      判断文件是否存在

      <?php
      if(file_exists("test.txt"))
      {
      //如果文件存在就执行操作
      }
      ?>
      //如果文件存在返回true,不存在返回false

      创建,打开,关闭文件

      • 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()
      ?>

      读取文件

      • 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)
      ?>

      写入文件

      • 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()函数写入的内容")
      ?>

      文件和目录基本操作

      删除文件

      • unlink()

      <?php
      $file = "temp.txt";
      unlink($file);
      ?>

      复制文件

      • copy()

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

      移动,重命名文件或目录

      • rename()

      <?php
      //使用rename()函数重命名一个文件或目录
      rename(&#39;test.txt&#39;, &#39;rename.txt&#39;) //将test.txt文件重命名为rename.txt
      rename(&#39;test&#39;,&#39;rename&#39;) //将test目录重命名为rename
      //使用rename()函数移动文件,并改名
      rename("test.txt","test/a.txt");//将test.txt移动到test文件夹下,并改名为a.txt
      //使用rename()函数移动目录到目标目录
      rename("test","html/test");
      ?>

      推荐学习:《PHP视频教程

위 내용은 이 기사에서는 PHP의 파일 및 디렉토리 작업을 안내합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제