>  기사  >  백엔드 개발  >  PHP에서 디렉토리의 파일 이름을 얻는 방법(요약 공유)

PHP에서 디렉토리의 파일 이름을 얻는 방법(요약 공유)

WBOY
WBOY원래의
2021-11-02 11:56:077039검색

이전 기사 "PHP 파일 처리에서 디렉토리를 열고 닫는 방법에 대한 지식 요약"에서는 PHP에서 디렉토리를 열고 닫는 방법에 대한 지식을 자세히 소개했습니다. 이번 기사에서는 계속해서 방법을 살펴보겠습니다. 이전 기사에서 디렉토리 열기 및 닫기에 대한 지식을 포함하여 디렉토리 파일에 대한 지식이 모든 사람에게 도움이 되기를 바랍니다.

PHP에서 디렉토리의 파일 이름을 얻는 방법(요약 공유)

우리는 이미 PHP에서 디렉토리를 열고 닫는 방법을 배웠습니다. 디렉토리를 닫기 전에 일반적으로 사용되는 작업 중 하나는 디렉토리에 있는 파일과 폴더를 얻는 것입니다.

즉, 디렉토리에 있는 파일을 가져오는 방법을 알고 싶다면 먼저 디렉토리를 열고 닫을 수 있어야 하므로 opendir() 함수와 closedir () 아직 기능을 이해하지 못했다면 위의 링크를 클릭하여 학습할 수 있습니다. PHP에서 디렉토리에 있는 파일을 얻는 방법을 살펴보겠습니다. opendir() 函数和closedir()函数还不了解的可以点击上方的连接进行学习。下面我们就来看一下PHP中怎样才能完成目录下文件的获取吧。

我们在PHP中可以通过readdir()函数和scandir()函数来完成获取目录中文件名的操作。

<strong><span style="font-size: 20px;">readdir()</span></strong>函数获取文件中的下一个文件名

readdir()函数是一个简单的操作,说它简单是因为当函数执行成功之后,它能够返回通过opendir()函数打开目录中的一个文件或者目录名称;如果函数没有执行成功,返回的结果就是flase

readdir()函数的基本语法格式如下:

readdir([resource $dir_handle])

其中需要注意的是:$dir_handle 是个可选参数,当填写时,表示的就是通过opendir()函数打开的目录参数。

接下来我们通过示例来看一下readdir()函数的使用,示例如下:

<?php
    $dir = &#39;D:&#39;;
    if(is_dir($dir)){
        $info = opendir($dir);
        $file = readdir($info);
        echo $file.&#39;<br>&#39;;
        closedir($info);
    }
?>

输出结果:

PHP에서 디렉토리의 파일 이름을 얻는 방법(요약 공유)

上述示例中这种写法一般是不会用到的,一般想要通过readdir()函数获取所有的目录下的文件,需要通过while循环来进行获取,示例如下:

<?php
    $dir = &#39;D:&#39;;
    if(is_dir($dir)){
        $info = opendir($dir);
        while (($file = readdir($info)) !== false) {
            echo $file.&#39;<br>&#39;;
        }
        closedir($info);
    }
?>

输出结果:

PHP에서 디렉토리의 파일 이름을 얻는 방법(요약 공유)

如此我们便通过readdir()函数与while循环配合完成了对目标目录中文件名的获取。这就是readdir()函数的应用,接下来我们看一下另外一种方法,也就是scandir()函数。

<strong><span style="font-size: 20px;">scandir()</span></strong>函数,数组形式返回目录文件名

上文中我们了解了readdir()函数可以获取目标目录内的文件名,其中配合while循环可以简单直接的得到目录下的文件或者目录名。接下来要说的scandir()函数与readdir()函数有一些不同。

  • readdir()函数一次只能返回一个文件名,但是scandir()函数执行成功之后能够返回目标目录内所有的文件名和目录名;

  • readdir返回的结果直接就是文件的名称,scandir的返回结果也是文件的名称但是是以数组的形式返回的结果;

  • readdir函数没有执行成功的话返回的结果是flase,scandir函数没有执行成功时返回的加过也是flase但是同时也会有错误信息。

下面我们来看一下scandir()函数的基本语法,示例如下:

scandir(string $directory[, int $sorting_order[, resource $context]])

其中需要注意的是:$directory表示要读取的目录;当$sorting_order的参数设置为SCANDIR_SORT_DESCENDING 或者 1的时候,返回的结果也就是文件名,它们的排列顺序是按着字母降序排列。当$sorting_order的参数设置为SCANDIR_SORT_NONE

PHP에서는 readdir() 함수와 scandir() 함수를 사용하여 디렉터리에서 파일 이름을 얻는 작업을 완료할 수 있습니다.

<strong><span style="font-size: 20px;">readdir()</span></strong>파일에서 다음 파일 이름을 가져오는 함수

readdir()함수는 간단한 조작입니다. 함수가 성공적으로 실행되면 간단합니다. , opendir() 함수를 통해 열린 디렉터리의 파일 또는 디렉터리 이름을 반환할 수 있습니다. 함수가 성공적으로 실행되지 않으면 반환되는 결과는 flase입니다.

PHP에서 디렉토리의 파일 이름을 얻는 방법(요약 공유)

readdir() 함수의 기본 구문 형식은 다음과 같습니다.

<?php
    $dir = &#39;D:\phpstudy_pro\WWW&#39;;
    if(is_dir($dir)){
        $arr1 = scandir($dir);
        $arr2 = scandir($dir, 1);
    }
    echo "<pre class="brush:php;toolbar:false">";
    print_r($arr1);
    print_r($arr2);
?>

주의해야 할 점: $dir_handle 은 선택적 매개변수로 채워지면 전달된다는 의미입니다. opendir() 를 통해 함수에 의해 열린 디렉터리 매개변수입니다. 🎜🎜다음으로, 예제를 통해 readdir() 함수의 사용법을 살펴보겠습니다. 🎜rrreee🎜출력 결과: 🎜🎜🎜PHP에서 디렉토리의 파일 이름을 얻는 방법(요약 공유)🎜🎜위 예시의 작성 방법은 일반적으로 사용되지 않습니다. readdir() 함수를 통해 모든 데이터를 가져옵니다. while 루프를 통해 디렉터리의 파일을 가져와야 합니다. 예는 다음과 같습니다. 🎜rrreee🎜출력 결과: 🎜🎜🎜PHP에서 디렉토리의 파일 이름을 얻는 방법(요약 공유)🎜🎜이런 방식으로 우리는 readdir() 함수와 while 루프를 사용하여 획득 대상 디렉터리의 파일 이름을 완성합니다. 이것이 readdir() 함수의 적용입니다. 다음으로 또 다른 메서드인 scandir() 함수를 살펴보겠습니다. 🎜🎜<strong><span style="max-width:90%">scandir()</span></strong>함수, 배열 형식으로 디렉터리 파일 이름을 반환합니다.🎜🎜위에서 우리는 readdir() 함수가 대상 디렉터리의 파일 이름을 얻을 수 있다는 것을 배웠습니다. while 루프와 함께 사용할 수 있습니다. 디렉터리에 있는 파일이나 디렉터리 이름을 간단하고 직접 가져옵니다. 다음에 설명할 scandir() 함수는 readdir() 함수와 약간 다릅니다. 🎜
  • 🎜readdir() 함수는 한 번에 하나의 파일 이름만 반환할 수 있지만 scandir() code> 함수가 성공적으로 실행되면 대상 디렉터리의 모든 파일 이름과 디렉터리 이름을 반환할 수 있습니다. 🎜
  • 🎜readdir 반환된 결과는 바로 파일 이름입니다. , scandir 반환 결과는 파일 이름이기도 하지만 배열 형식으로 반환됩니다. 🎜
  • 🎜readdir 함수가 성공적으로 실행되지 않은 경우 반환된 결과는 flase, scandir입니다. 함수가 성공적으로 실행되지 않은 경우 반환된 값도 false이지만 오류 메시지도 표시됩니다. 🎜
🎜 scandir() 함수의 기본 구문을 살펴보겠습니다. 예제는 다음과 같습니다. 🎜🎜rrreee🎜 주목해야 할 것은: $directory는 읽을 디렉터리를 나타냅니다. $sorting_order 매개변수가 SCANDIR_SORT_DESCENDING 또는 1로 설정된 경우 반환되는 결과는 파일입니다. 이름이며 순서는 알파벳 내림차순으로 정렬됩니다. $sorting_order 매개변수가 SCANDIR_SORT_NONE으로 설정된 경우 반환되는 결과는 정렬되지 않은 결과이며 이 매개변수는 선택적 매개변수입니다. 🎜🎜다음으로, 예제를 통해 scandir() 함수의 응용을 살펴보겠습니다. 🎜rrreee🎜위 예제에서는 scandir() 함수를 사용하여 파일을 가져오는 것이 목적입니다. 디렉토리 경로 "D:phpstudy_proWWW" 이름을 가진 디렉토리를 선택한 후 다른 매개변수를 사용하여 다른 알파벳 정렬을 달성합니다. 출력 결과는 다음과 같습니다. 🎜🎜🎜🎜🎜🎜위의 예에서 scandir()을 볼 수 있습니다. 함수는 대상 디렉터리의 파일 이름을 배열 형태로 반환할 수 있으며, 반환되는 결과의 순서는 함수의 $sorting_order 매개변수에 따라 달라집니다. 🎜

관심이 있으시면 "PHP 비디오 튜토리얼" 및 "PHP 파일 처리에서 디렉터리 닫기 및 열기에 대한 지식 요약"을 클릭하여 PHP 지식에 대해 자세히 알아볼 수 있습니다.

위 내용은 PHP에서 디렉토리의 파일 이름을 얻는 방법(요약 공유)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.