>백엔드 개발 >PHP 튜토리얼 >PHP 디렉터리 및 파일 작업에 대한 예제 튜토리얼

PHP 디렉터리 및 파일 작업에 대한 예제 튜토리얼

WBOY
WBOY원래의
2016-07-25 09:11:43835검색

1. 디렉토리 운영 첫 번째는 opendir(), readdir(), closedir() 디렉터리에서 읽는 함수입니다. 사용하면 파일 핸들이 먼저 열린 다음 반복적으로 나열됩니다.

  1. $base_dir="filelist/";
  2. $fso=opendir($base_dir);
  3. echo $base_dir."
    ";
  4. while($flist=readdir($fso)){
  5. echo $flist."
    ";
  6. }
  7. closedir($fso)
  8. ?> ;
코드 복사

파일 디렉토리 아래의 파일과 디렉토리를 반환하는 프로그램입니다(0개의 파일은 false를 반환합니다).

디렉토리 정보를 알아야 할 경우가 있습니다. dirname($path) 및 basename($path)을 사용하여 경로의 디렉토리 부분과 파일 이름 부분을 각각 반환할 수 있습니다. disk_free_space($path)를 사용할 수 있습니다. 뷰 공간의 남은 공간을 반환합니다.

명령 생성: mkdir($path,0777): 0777은 창이 아닌 조건에서 umask() 함수를 사용하여 설정할 수 있는 권한 코드입니다. rmdir($path): $path에 해당 경로가 있는 파일을 삭제합니다.

2. 파일작업

새 파일 먼저 생성하려는 파일이 있는 디렉터리의 권한을 확인하세요. 권장 장치는 777입니다. 그런 다음 새 파일 이름에 절대 경로를 사용하는 것이 좋습니다.

  1. $filename="test.txt";
  2. $fp=fopen("$filename", "w " ); //파일 포인터를 열고 파일을 생성합니다.
  3. if ( !is_writable($filename) ){
  4. die("파일:" .$filename. "쓰기가 불가능합니다. 확인하세요!");
  5. }
  6. //fwrite($filename, "$filename에 쓰고 싶은 모든 내용.";
  7. fclose($fp); //포인터 닫기
코드 복사

파일 읽기 첫 번째는 파일을 읽을 수 있는지(권한 문제) 또는 파일이 존재하는지 확인하는 것입니다. is_reading 함수를 사용하여 정보를 얻을 수 있습니다.:

  1. $file = 'dirlist.php';
  2. if (is_readable($file) == false) {
  3. die('파일이 없거나 읽을 수 없습니다.');
  4. } else {
  5. echo 'exists';
  6. }
  7. ?>
코드 복사

존재를 판별하는 함수 파일에는 file_exists(아래 데모)도 포함되어 있지만 is_readable만큼 포괄적이지는 않습니다. 파일이 있으면

  1. $file = "filelist.php";
  2. if (file_exists($file) == false) {
  3. die('파일이 존재하지 않습니다');
  4. }
  5. $data = file_get_contents($file);
  6. echo htmlentities($data) ;
  7. ?>
코드 복사

그러나 file_get_contents 함수는 지원되지 않습니다. 낮은 버전에서는 먼저 파일에 대한 핸들을 만든 다음 모두 가져오기 포인터로 읽을 수 있습니다.

바이너리 파일을 읽는 또 다른 방법이 있습니다: $data = implode('', file($file));

파일 쓰기 파일을 읽는 것과 같은 방법으로, 먼저 다음과 같이 쓸 수 있는지 확인하세요:

  1. $file = 'dirlist.php';
  2. if (is_writable($file) == false) {
  3. die("글을 쓸 권리가 없습니다!");
  4. }
  5. ?>

코드를 복사할 수 있으면 file_put_contents 함수를 사용하여 다음과 같이 작성할 수 있습니다.

  1. $file = 'dirlist.php';
  2. if (is_writable($file) == false) {
  3. die('나는 닭털이다, 나는 할 수 없다');
  4. }
  5. $data = '나는 비열하다, 나는 원한다';
  6. file_put_contents ($file, $data);
  7. ? >
코드 복사

file_put_contents 함수는 php5에 새로 도입된 함수입니다(존재하는지 모르는 경우 function_exists 함수를 사용하세요). 먼저 확인하세요.) 낮은 버전의 PHP는 다음 방법을 사용할 수 없습니다.

  1. $f = fopen($file, 'w');
  2. fwrite($f, $data);
  3. fclose($f );
코드 복사

교체하세요.

파일을 작성할 때 때로는 파일을 잠근 후 다음과 같이 작성해야 합니다.

  1. function 캐시_페이지($pageurl,$pagedata){
  2. if(!$fso=fopen($pageurl,'w')){
  3. $this->warns('캐시 파일을 열 수 없습니다.');//trigger_error
  4. return false;
  5. }
  6. if(!flock($fso,LOCK_EX)){//LOCK_NB, row 기타 유형 잠금
  7. $this->warns('캐시 파일을 잠글 수 없습니다.');//trigger_error
  8. return false;
  9. }
  10. if(!fwrite($fso,$pagedata )) {//바이트 스트림 쓰기, 직렬화는 다른 형식 쓰기
  11. $this->warns('캐시 파일을 쓸 수 없습니다.');//trigger_error
  12. return false;
  13. }
  14. 무리 ($fso,LOCK_UN);//잠금 해제
  15. fclose($fso);
  16. return true;
  17. }
코드 복사

파일 복사, 삭제 PHP에서 파일을 삭제하는 것은 매우 쉽습니다. 연결 해제 기능을 사용하면 됩니다.

  1. $file = 'dirlist.php';
  2. $result = @unlink($file);
  3. if ($result == false) {
  4. echo '모기를 쫓아냈습니다';
  5. } else {
  6. echo '쫓을 수 없습니다';
  7. }
  8. ?>
코드를 복사하세요

.

파일 복사:

  1. $file = 'yang.txt';
  2. $newfile = 'ji.txt'; 이 파일 폴더는 쓰기 가능해야 합니다
  3. if (file_exists($file) == false) {
  4. die ('샘플이 온라인이 아니어서 복사할 수 없습니다');
  5. }
  6. $result = copy($file, $newfile);
  7. if ($result == false) {
  8. echo '메모리 복사 확인';
  9. }
  10. ?>
코드 복사

rename() 함수를 사용하여 폴더 이름을 바꿀 수 있습니다. 이러한 함수를 결합하면 다른 작업을 수행할 수 있습니다.

파일 속성 가져오기

몇 가지 일반적인 기능에 대해 이야기하겠습니다. 마지막으로 수정된 시간을 가져옵니다.

  1. $file = 'test.txt';
  2. echo date('r', filemtime($file)) ;
  3. ?>
코드 복사

는 캐싱 기술에 일반적으로 사용되는 Unix 타임스탬프를 반환합니다.

마지막으로 액세스한 시간을 가져오는 fileatime() 및 filectime()이 관련됩니다. inode의 파일 권한, 소유자, 모든 그룹 또는 기타 메타데이터가 업데이트되면 fileowner() 함수는 파일 소유자를 반환합니다. $owner = posix_getpwuid(fileowner($file)); (비 윈도우 시스템), ileperms()는 파일 권한을 얻습니다.

  1. $file = 'dirlist.php';
  2. $perms = substr(sprintf('%o', fileperms ($file)), -4);
  3. echo $perms;
  4. ?>
코드 복사

filesize()는 파일 크기를 반환합니다. 바이트 수:

  1. // 출력은 유사합니다: somefile.txt: 1024바이트

  2. $filename = 'somefile.txt';

  3. echo $filename . ': ' . filesize($filename) . ' 바이트';
  4. ?>

코드 복사

파일의 모든 정보를 얻으려면 배열을 반환하는 stat() 함수가 있습니다.

  1. $file = 'dirlist.php';
  2. $perms = stat($file);
  3. var_dump($perms);
  4. ? >
코드 복사

관심이 있을 만한 기사: php 파일 작업 클래스 코드 예시 PHP 파일 작업의 작은 예 텍스트 파일 작업을 위한 멋진 PHP 클래스 PHP 파일 조작 방법 Q&A PHP에서의 디렉터리 및 파일 동작에 대한 자세한 설명



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