>백엔드 개발 >PHP 튜토리얼 >PHP의 디렉토리 작업 예에 대한 자세한 설명

PHP의 디렉토리 작업 예에 대한 자세한 설명

小云云
小云云원래의
2018-03-31 09:13:151314검색

이 글에서는 주로 PHP, Mkdir(디렉터리 주소 [, 권한 [, 재귀적으로 생성할지 여부(기본값은 false)]])의 디렉터리 작업 예제에 대한 자세한 설명을 공유합니다. 성공하면 true를 반환하고 그렇지 않으면 false를 반환합니다. 기본 권한은 최대 접근 권한인 0777입니다. 이 설정은 Windows 시스템(Linux 작동)에는 적용되지 않습니다.

echo mkdir('./name/li');//当前目录下并没有name这个文件夹

이 작업을 수행하여 오류를 찾습니다. 이름 폴더가 전혀 존재하지 않아 이름 폴더 아래에 li 폴더를 생성할 수 없기 때문입니다.


echo mkdir('./name/li',0777,true);//支持递归创建。

이 때 반환 결과는 1입니다. 실행이 성공했으며 현재 디렉터리에 name 폴더가 있고 그 하위 폴더에도 li 폴더가 있습니다. 이는 Mkdir()에서 지원하는 재귀 생성입니다. 즉, 디렉터리 주소에 존재하지 않는 폴더를 자동으로 생성합니다.

디렉터리 삭제:

Rmdir(디렉터리 주소), 여기서는 빈 디렉터리만 삭제할 수 있으며 반복 삭제는 지원되지 않습니다.

이동(이름 바꾸기):

Rename(이전 주소, 새 주소);

rename('./name/li','./li'); 이름폴더도 있고, li폴더도 있는데 이름폴더 밑에 li폴더가 없어져요. (이 기능은 운영 파일도 지원합니다.)

디렉토리 내용 가져오기:

1. 디렉토리 열기: 디렉토리 핸들 = opendir(디렉토리 주소)

2. 파일 읽기: 파일 이름 = readdir(디렉토리 핸들); 핸들 포인터를 아래쪽으로 이동하면서 파일(하위 디렉터리)을 시퀀싱합니다. 얻을 수 없으면 false를 반환합니다. (일반적으로 디렉터리에는 두 개의 논리적 하위 디렉터리가 있습니다. 및 ..는 각각 현재 디렉터리와 상위 디렉터리를 나타냅니다.) 여기서 읽는 것은 내용이 아니라 이름입니다.

3. 디렉터리 닫기: closedir(디렉터리 핸들);

예: 파일을 재귀적으로 삭제
<?php
	/**
	*递归删除指定文件目录下的所有问价及文件夹
	**/
	function RemoveDir($path){
		$path=iconv(&#39;utf-8&#39;,&#39;gbk&#39;,$path);//windows中汉字编码为gbk,而php中使用的是utf-8编码。
		$dir_handle=opendir($path);
		echo "{$path}<br/>";
		while(false!==$file=readdir($dir_handle))//此处用false!==$file是因为有的文件夹如果命名为0的话。会造while($file=readdir($dir_handle))条件不满足
		{ 
			if($file==&#39;.&#39;||$file==&#39;..&#39;)//存在逻辑子目录.和..
				continue;
			if(is_dir($path.&#39;/&#39;.$file)){//函数is_dir(文件地址)判断文件是否为目录。
				RemoveDir($path.&#39;/&#39;.$file);
			}else{
				unlink($path.&#39;/&#39;.$file);//unlink(文件地址)删除某个文件。
			}
		}
		closedir($dir_handle);
		return rmdir($path);
	}
	RemoveDir(&#39;./name&#39;);

관련 권장 사항:

php_PHP 튜토리얼의 디렉터리 작업 기능(삭제, 생성, 판단)

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

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