>  기사  >  백엔드 개발  >  PHP 디렉토리

PHP 디렉토리

WBOY
WBOY원래의
2024-08-29 13:09:091243검색

PHP 디렉토리 기능은 이름에서 알 수 있듯이 세부 정보를 검색하고 수정하며 다양한 파일 시스템 디렉토리와 특정 내용에 대한 정보를 가져오는 데 사용되는 기능 집합입니다. 현재 작업 디렉토리 생성, 삭제, 변경, 디렉토리에 있는 파일 나열 등과 같은 많은 작업을 디렉토리에서 수행할 수 있습니다. 이러한 기능은 PHP 코어의 일부로 제공되므로 별도의 설치가 필요하지 않습니다. 하지만 chroot() 기능을 활성화하려면 –enable-chroot-func 옵션을 구성해야 합니다.

광고 이 카테고리에서 인기 있는 강좌 PHP 개발자 - 전문 분야 | 8개 코스 시리즈 | 3가지 모의고사

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

PHP 디렉토리의 기능

다음과 같이 몇 가지 기본 PHP 디렉토리 기능을 살펴보겠습니다.

1. 새 디렉토리 생성

mkdir() 함수를 사용하여 PHP 프로그래밍 스크립트에 새 디렉터리를 만듭니다.

구문:

mkdir($dir_path,$mode,$recursive_flag,$context);

어디,

  • $dir_path는 지정된 새 디렉터리가 생성될 상대 경로 또는 절대 경로입니다.
  • $mode는 새로 생성된 디렉토리에 액세스할 수 있는 수준을 결정하는 8진수 값을 사용하는 매개변수입니다.
  • $recursive는 중첩된 디렉터리를 만들거나 만들지 않을 수 있는 true 또는 false의 2가지 값을 갖는 플래그 유형 필드입니다.
  • $context는 특정 프로토콜 등을 지정하는 스트림을 갖는 것과 같이 PHP unlink()와 유사합니다. 또한 실행이 성공적으로 완료되면 true이고 그렇지 않으면 false인 부울 값만 반환합니다.

예:

<?php
mkdir("/articles/");
echo("Directory created");
?>

출력:

PHP 디렉토리

이것은 필요한 경로에 디렉토리가 생성되는 것을 보여주는 기본 예입니다. 경로에 충분한 권한이 있는지 확인하세요. 그렇지 않으면 "권한 거부" 오류가 발생합니다.

2. 디렉토리 내용 나열

디렉토리 링크를 열고 읽는 데 각각 opendir()과 readdir()을 사용합니다. 1단계는 디렉토리를 여는 것이고, 2단계는 그것을 읽는 것입니다.

1단계: 디렉토리 링크를 열려면 opendir()이 이 단계를 수행하는 데 사용하는 함수입니다. 아래에 지정된 두 개의 입력 인수가 필요합니다.

구문:

opendir($dir_path,$context);
  • $dir_path는 열어야 하는 디렉터리의 경로입니다.
  • $context는 컨텍스트 스트림이 있는지 여부를 지정할 수 있는 선택적 매개변수입니다.

리소스 데이터 값을 출력으로 반환합니다. 제공되는 이 리소스 ID는 추가 처리 단계에서 사용됩니다. 그렇지 않으면 리소스 ID가 유효하지 않아 오류가 발생합니다.

2단계: 디렉토리의 내용을 읽으려면 readdir()이 이 목적으로 사용되는 함수이며 디렉토리가 디렉토리 끝에 도달할 때까지 재귀적으로 호출해야 합니다. 핸들.

:

<?php
$direct = "/files/";
if (is_dir($direct)){
if ($td = opendir($direct)){
while (($file = readdir($td)) !== false){
echo "filename:" . $file . "<br>";
}
closedir($td);
}
}
?>

출력:

PHP 디렉토리

이 예에서는 먼저 읽어야 할 디렉터리 경로를 선언합니다. 디렉토리가 존재하는지 if 문을 확인하고 디렉토리의 내용을 열고 읽는 작업을 진행합니다. 출력에는 디렉터리 내부에 있는 파일 이름이 표시됩니다.

3. 디렉토리를 닫으려면

디렉터리 내용을 읽은 후 해당 디렉터리를 닫으려면 closedir() 함수를 사용합니다.

구문:

$dir_handle = opendir($dir_path);
...
...
closedir($dir_handle);

예:

<?php
$dir = "/file1";
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
$direc = readdir($dh);
echo("File present inside directory are:" .direc);
closedir($dh);
echo("Closed directory");
}
}
?>

출력:

PHP 디렉토리

이 예에서는 먼저 디렉터리 경로를 선언합니다. 그런 다음 if 조건문을 사용하여 경로가 유효한지 확인하고, 그렇다면 디렉터리를 열고 해당 변수를 읽은 다음 닫습니다. 따라서 디렉토리를 열고 닫는 사이에 모든 작업을 수행할 수 있습니다.

4. 현재 디렉토리를 변경하려면

chdir() 함수를 사용하여 가리키는 현재 작업 디렉터리를 변경합니다.

구문:

chdir(directory)

현재 작업 디렉토리가 가리키는 디렉토리인 하나의 매개변수만 필요합니다. 디렉터리 변경에 성공하면 true를 반환하고, 디렉터리 변경에 실패하면 false를 반환합니다.

예:

<?php
// Get current directory
echo getcwd()."\n";
// Change directory
chdir("/workspace/test");
// Get current directory
echo getcwd();
?>

출력:

PHP 디렉토리

In this example, we are first printing the present working directory. Then we are changing the same using chdir function to “test” directory and printing the same on the output. Hence make sure the entire path we are giving here exists.

5. To Change the Directory Path of Root

We use the function chroot() for changing the root directory of the ongoing process to the directory path we pass as an argument in this function. Also, the present working directory path will be changed to “/”. To perform this function one needs root permission/privileges.

Syntax:

chroot(directory)

Example:

<?php
// Changing root directory path
chroot("/change/path/dir/");
// Displaying present directory
echo getcwd();
?>

Output:

PHP 디렉토리

In this example, we are first using the chroot function to change the path of the root directory. Next, we are displaying the present working directory which will be now changed to home path.

6. To Reset the Directory Handle

For this purpose, we are using rewinddir() function which can reset the directory handle initially created by opendir() function.

Syntax:

rewinddir(directory)

It accepts only the directory path as its input argument which is used to tell the directory handle resource path which was opened with opendir() previously. This is an optional parameter which if not specified then the previous link used by the opendir() will be considered.

Example:

<?php
$direc = "/file/";
// To open the directory and read its contents
if (is_dir($direc)){
if ($place = opendir($direc)){
// List files in images directory
while (($file = readdir($place)) !== false){
echo "filename:" . $file . "\n";
}
rewinddir();
echo("Using the function rewinddir\n");
// List files again
while (($file = readdir($place)) !== false){
echo "filename:" . $file . "\n";
}
closedir($place);
echo("Closed directory");
}
}
?>

Output:

PHP 디렉토리

In this example first, we are specifying the directory path and if statement we are using to verify if the directory path is present or not. If the directory is present then we are opening and reading the contents of the file and printing the same. Now the file handler will stop printing since it reached the end of file pointer. When we use the rewinddir() function it resets the file handler and hence when we print the directory contents it prints the same output again.

Conclusion

We have gone through some of the basic and important PHP directory functions commonly used in this article. We also noticed that a few of these functions are dependant on each other. For example, we cannot use readdir() without using opendir(). Few other functions which are used are dir(), scandir() and getcwd().

위 내용은 PHP 디렉토리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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