>  기사  >  백엔드 개발  >  지정된 디렉토리의 모든 파일을 탐색하는 방법은 무엇입니까? (PHP 파일 시스템 작업)

지정된 디렉토리의 모든 파일을 탐색하는 방법은 무엇입니까? (PHP 파일 시스템 작업)

黄舟
黄舟원래의
2017-05-20 17:01:563662검색

지정된 디렉터리의 모든 파일을 탐색하는 방법은 무엇입니까? (php 파일 시스템 운영)

홈페이지의 확보된 관리 시스템에서는 웹사이트 서버에 있는 파일을 관리하고 유지해야 하는 경우가 종종 있습니다. 특정 파일을 삭제합니다. 이러한 파일이나 폴더를 더 잘 보려면 서버의 지정된 디렉터리에 있는 파일을 탐색해야 합니다. 그러면 지정된 디렉터리에 있는 파일의 탐색 기능을 구현하는 방법은 무엇입니까?

지정된 디렉터리의 모든 파일을 탐색하는 핵심은 file_exists(), is_dir(), opendir() 및 closedir() 함수를 포함한 디렉터리 및 파일 처리 함수를 적용하는 것입니다.

1. 애플리케이션 기능 분석

(1) file_exists(): 파일이나 디렉터리가 존재하는지 확인합니다. 구문은 다음과 같습니다:

bool file_exists(string filename)

filename으로 지정된 파일 또는 디렉터리가 존재하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

(2) is_dir(): 지정된 파일명이 디렉터리인지 확인합니다. 구문 형식은 다음과 같습니다:

bool is_dir(string filename)

파일 이름이 존재하고 디렉터리인 경우 true를 반환합니다. 파일 이름이 상대 경로인 경우 현재 작업 디렉터리에 따라 상대 경로를 확인합니다.

참고:

이 기능의 결과는 캐시되며 원격 파일 및 파일에는 적용할 수 없습니다. 체크됨 서버의 파일 시스템을 통해 파일에 액세스해야 합니다.

(3) opendir(): 디렉토리 핸들을 엽니다. 구체적인 구문 형식은 다음과 같습니다.

resource opendir(string path)

이 함수는 닫을 수 있는 디렉토리 핸들을 반환합니다. (), readdir( )이 먼저 호출됩니다. path가 합법적인 디렉터리가 아니거나 권한 제한 또는 파일 시스템 오류로 인해 디렉터리를 열 수 없는 경우 opendir()은 false를 반환하고 오류 메시지를 생성합니다.

(4) readdir(): 디렉터리 핸들에서 항목을 읽습니다. 구체적인 구문 형식은 다음과 같습니다.

string  readdir(resource dir_handle)

이 함수는 디렉터리에 있는 다음 파일의 파일 이름을 반환합니다. 파일 이름은 파일 시스템에서 Sorting return으로 시작됩니다.

(5) closeir(): 디렉터리 핸들을 닫습니다. 구체적인 형식은 다음과 같습니다.

string  closedir(resource dir_handle)

이 함수는 dir_handle에 의해 지정된 디렉터리 스트림을 닫습니다. opendir().

위 기능을 종합적으로 사용하면 지정된 디렉터리에서 파일 순회 작업을 구현할 수 있습니다.

2. 적용 예

이 예에서는 위에서 소개한 함수를 적용하여 지정된 디렉터리에 있는 파일의 순회 작업을 구현합니다. 구체적인 단계는 다음과 같습니다.

(1) PHP 파일을 생성하고, 양식을 추가하고, 양식 요소를 정의하고, post 메서드를 통해 디렉터리에 대한 경로를 제출합니다.

(2) 이 PHP 파일에서 제출된 디렉터리 경로가 비어 있는지 확인한 다음 디렉터리를 열고 디렉터리에 있는 파일을 읽고 읽은 파일을 출력하고 디렉터리를 닫습니다. 그렇지 않으면 출력 디렉터리가 비어 있습니다. 존재하지 않는 경우 특정 코드는 다음과 같습니다.

<form name="form1" action="6.php" method="post">
   文件名称: <input name="file_name" type="text">
           <input type="submit" name="Submit" value="提交">
</form>
<?php
header("Content-Type:text/html; charset=utf-8");
$file_name = $_POST[&#39;file_name&#39;];
if ($file_name){
if(!file_exists($file_name)){                 //判断指定路径的目录是否存在
    print $file_name."目录不存在";
}else{
    $i =0;
    if(is_dir($file_name)){                   //检测是否是合法目录
        if ($list = opendir($file_name)){      //打开目录
            while ($read_list = readdir($list)){  //读取目录
                $i++;    
            echo "$i:".iconv("gb2312","utf-8","$read_list")."<br>";
        }
    }
}
closedir($list);    //关于目录
}
}

이 예제를 실행하고 텍스트 상자에 지정된 폴더를 입력하고 "제출" 버튼을 클릭합니다. 폴더가 존재하는 경우 해당 폴더에 포함된 파일을 표시할 수 있습니다. 폴더 모든 파일, 실행 결과는 다음과 같습니다.

지정된 디렉토리의 모든 파일을 탐색하는 방법은 무엇입니까? (PHP 파일 시스템 작업)

위 내용은 지정된 디렉토리의 모든 파일을 탐색하는 방법은 무엇입니까? (PHP 파일 시스템 작업)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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