>백엔드 개발 >PHP 튜토리얼 >PHP 디렉터리 작업

PHP 디렉터리 작업

WBOY
WBOY원래의
2016-07-25 08:42:561104검색
  1. //basename()
  2. 경로의 파일 이름 부분을 반환합니다
  3. $path="D:/lamp/ apache2 /htdocs/file.php";
  4. echo basename($path)."
    ";
  5. //파일 확장자와 함께 파일 이름 표시
  6. echo basename($path,'php ')."
    ";
  7. //파일 확장자 없이 파일 이름 표시
  8. //dirname()
  9. 파일 이름을 제거하고 디렉터리 이름을 반환
  10. echo dirname($ path )."
    ";
  11. //디렉터리 이름 반환
  12. //pathinfo()
  13. 경로 속성 배열 반환
  14. print_r(pathinfo($path))."< ; br>";
  15. //opendir()
  16. 지정된 디렉터리 열기
  17. //readdir()
  18. 지정된 디렉터리 읽기
  19. //closedir()
  20. 지정된 디렉터리 닫기
  21. //rewinddir()
  22. 디렉터리 핸들 되감기
  23. /*
  24. *다음 코드는 디렉토리에 있는 파일 수를 계산합니다.
  25. */
  26. $num=0;
  27. //사용됨 하위 디렉터리와 파일의 총 개수를 계산하려면
  28. $dirname="pm3";
  29. //디렉토리, 즉 탐색해야 하는 디렉터리를 정의합니다
  30. $dir_handle=opendir($dirname);
  31. //디렉터리 열기
  32. //순회한 내용과 파일명을 테이블 형식으로 출력
  33. echo "";
  34. echo "
  35. ";
  36. echo "< ;tr align='left' bgcolor='#cccccc'>";
  37. echo "
  38. ";
  39. while($file=readdir($dir_handle)){
  40. //디렉토리 내용을 읽는 루프를 반복합니다. 마지막
  41. $dirFile=$dirname."/".$file;
  42. //다음 파일 형식에서 사용할 수 있도록 디렉터리 이름과 파일 이름을 사용하여 연결합니다.
  43. if($num %2= =0){
  44. //단수 및 복수 숫자를 통해 인터레이스 색상 구현
  45. $bgcolor="#ffffff";
  46. }else{
  47. $bgcolor="#cccccc";
  48. }
  49. echo "
  50. ";
  51. echo "
  52. ";
  53. / /출력 파일 이름
  54. echo "
  55. ";
  56. //출력 파일 크기
  57. echo "
  58. ";
  59. //출력 파일 형식
  60. echo "
  61. ";
  62. // 출력 파일 시간 수정
  63. echo "
  64. ";
  65. }
  66. echo "
  67. ".$dirname."

    파일 이름파일 크기파일 유형 < /th>수정 시간
    ".$file." ".filesize($dirFile)." ".filetype( $dirFile)." ".filemtime($dirFile)."
    ";
  68. closedir($dir_handle);
  69. echo "< b>in 디렉토리" .$dirname 아래에 ".$num." 파일이 있습니다.
    ";
  70. //disk_free_space()
  71. disk_total_space() 통계 디스크 크기
  72. /*
  73. *수신 디렉터리 파일의 크기를 계산하는 재귀 함수 사용자 정의
  74. */
  75. function dirSize($directory){
  76. $dir_size=0;
  77. //정수 정의 변수를 사용하여 각 파일의 크기를 누적하여 디렉터리 크기를 계산합니다
  78. if($dir_handle=opendir($directory)){
  79. //디렉터리 열기
  80. while($fileName=readdir( $dir_handle)){
  81. //디렉터리의 파일을 읽는 루프
  82. if($fileName!="." && $fileName!=".."){
  83. //두 개를 제외해야 합니다. 특수 디렉터리
  84. $subFile=$directory."/".$fileName;
  85. //파일 이름과 디렉터리 이름 연결
  86. if(is_dir($subFile)){
  87. // 하위 파일이 디렉터리입니다
  88. $dir_size =dirSize($subFile);
  89. //디렉터리인 경우 계속 아래쪽으로 순환
  90. }
  91. if(is_file($subFile)){
  92. //일반 파일인지 확인
  93. $dir_size =filesize($subFile);
  94. //파일 크기를 구해서 이전 파일 크기에 추가
  95. }
  96. }
  97. }
  98. }
  99. closedir($ dir_handle);
  100. //디렉토리 핸들을 닫습니다
  101. return $dir_size;
  102. }
  103. $dir_size=dirSize("pm3" );
  104. echo "pm3 디렉터리의 크기: ".round ($dir_size/pow(1024,2),2)."MB";
  105. //출력 디렉터리의 크기
  106. / *
  107. *재귀 함수를 사용자 정의하여 디렉터리 삭제
  108. */
  109. //unlink()
  110. 디렉터리에서 파일 삭제
  111. function delDir($directory){
  112. if( file_exists($directory)){
  113. //디렉터리 존재 여부 판단
  114. if($dir_handle=opendir($directory)){
  115. //디렉토리 열기
  116. while($fileName=readdir( $dir_handle)){
  117. //디렉터리의 파일을 읽는 루프
  118. if($fileName!="." && $fileName!=".."){
  119. //두 개를 제외해야 합니다. 그렇지 않으면 후회할 것입니다
  120. $subFile=$directory."/" .$fileName;
  121. //파일 이름과 디렉터리 이름 연결
  122. if(is_dir($subFile)){
  123. //디렉토리이면 계속해서 실행
  124. delDir($subFile);
  125. }
  126. if(is_file($subFile)){
  127. //일반 파일이면 삭제 직접
  128. unlink($subFile);
  129. }
  130. }
  131. }
  132. closedir($dir_handle);
  133. //핸들 닫기
  134. rmdir($directory);
  135. //여기에서 실행 중인 디렉터리는 이미 비어 있으므로 직접 삭제하세요
  136. }
  137. }
  138. }
  139. //delDir("pm4");
  140. /*
  141. *디렉토리를 복사하거나 이동하는 재귀 함수 사용자 정의
  142. */
  143. //copy()
  144. 노멀 복사 File
  145. //mkdir()
  146. 디렉토리 생성
  147. function copyDir($directory,$dirTo){
  148. //두 개의 매개변수, 하나는 소스 디렉토리이고 다른 하나는 대상 디렉토리입니다
  149. if(is_file($dirTo)){
  150. //대상이 일반 파일인지 판단한 후 메소드를 직접 종료합니다
  151. echo "대상이 디렉터리가 아니므로 복사를 완료할 수 없습니다.";
  152. return;
  153. }
  154. if(!file_exists($dirTo)){
  155. //디렉터리가 존재하지 않는지 판단한 다음 디렉터리를 만듭니다.
  156. mkdir($dirTo);
  157. }
  158. if($dir_handle=opendir ($directory)){
  159. while($fileName=readdir($dir_handle)){
  160. if($fileName!="." && $fileName!=".. "){
  161. $subFile= $directory."/".$fileName;
  162. $subToFile=$dirTo."/".$fileName;
  163. if(is_dir($subFile)){
  164. copyDir($subFile,$subToFile)
  165. }
  166. if(is_file($subFile)){
  167. copy($subFile,$subToFile);
  168. }
  169. }
  170. }
  171. closedir($dir_handle);
  172. }
  173. }
  174. copyDir("pm3","pm4");
  175. ?>
코드 복사

PHP


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