>  기사  >  백엔드 개발  >  PHP 파일 및 디렉터리 작업

PHP 파일 및 디렉터리 작업

不言
不言원래의
2018-07-04 16:53:364814검색

이 글은 주로 PHP의 파일 및 디렉터리 작업을 소개하는데, 이는 특정 참조 가치가 있습니다. 이제 모든 사람과 공유합니다. 도움이 필요한 친구들이 참조할 수 있습니다.

PHP 파일 디렉터리 작업

  • 디렉터리 작업

    • is_dir( $path )은 현재 경로가 디렉토리인지 확인하고 부울 값을 반환합니다.

    • opendir( $path )은 경로 디렉토리를 열고 리소스를 반환합니다.

    • readdir( $handle )은 다음 파일을 읽습니다. 현재 열려 있는 디렉터리에서 포인터가 한 비트 앞으로 이동하여 문자열(파일/디렉터리 이름)을 반환합니다.

    • closedir( $handle )은 현재 열려 있는 디렉터리를 닫고 부울을 반환합니다.

    • getcwd( )는 현재를 가져옵니다. 작업 디렉터리

    • rmdir 삭제 디렉터리, 디렉터리의 모든 파일과 디렉터리를 삭제하기 전에 삭제해야 합니다

코드: 지정된 디렉터리의 모든 파일과 파일 이름 나열

function traversal_dir($path, $deep = 0) {    
if (is_dir($path)) {        
$handle = opendir($path);        
while (($file = readdir($handle)) !== false) {            
if ($file == '.' || $file == '..') {               
 continue;
            }            
            echo str_repeat(&#39;-&#39;, 2 * $deep) . $file . &#39;</br>&#39;;            
            if (is_dir($path . &#39;/&#39; . $file)) {
                traversal_dir($path . &#39;/&#39; . $file, $deep + 1);
            }
        }
    }
}

traversal_dir(&#39;./&#39;);
  • 파일 작업

    • is_file ( $ path ) : 지정된 경로가 파일인지 확인

    • file_exists ($path) : 해당 디렉터리나 파일이 존재하는지 확인

    • fopen ($file): 파일 또는 URL 열기 리소스 반환

    • fread ( resource $handle , $handle , int $length ) : 读取文件,可指定长度

    • fwrite ( resource $handle , string $string [, int $length ] ) : 返回写入字符串大小,如果指定了 length,当写入了 length 个字节或者写完了 string 以后,写入就会停止,视乎先碰到哪种情况。

    • fgets ( resource $handle [, int $length ] ) : 读取一行文本,length指定一行文本长度

    • fclose ( resource $handle ) : 关闭文件

    • basename ( $path ) : 返回指定路径的文件名部分  返回String

    • dirname ( $path ) : 返回指定路径的目录名部分  返回string

    • 路径部分

    • 操作部分

    • stat 获得文件信息

    • 判断部分

    • filesize ( $path ) 获得文件大小  int

    • filetype ( $path ) 获得文件类型 string (可能值:fifo,char,dir,block,link,file 和 unknown)

    • rename ( string $oldname , string $newname [, resource $contextint $length ): 파일 읽기, rfwrite 길이를 지정할 수 있습니다(Resource $ handler , String $string [, int $length ] ): 길이가 지정된 경우 작성된 문자열의 크기를 반환합니다. length 바이트를 쓰거나 string 쓰기를 마치면 쓰기가 중지됩니다. 어떤 상황에서는 문제가 되지 않습니다. 먼저 만남.

      🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜fgets $handle [, 🎜🎜 int $length ] ): 텍스트 한 줄을 읽습니다. length는 텍스트 한 줄의 길이를 지정합니다. fclose( 🎜🎜resource $handle ): 파일을 닫습니다🎜🎜🎜🎜🎜🎜🎜basename($path): 지정된 경로의 파일 이름 부분을 반환합니다. Return String🎜🎜 🎜🎜dirname($path): Return 지정된 경로의 디렉터리 이름 부분을 반환합니다.🎜🎜🎜🎜경로 부분🎜🎜🎜🎜작업 부분🎜🎜🎜🎜🎜🎜🎜stat 파일 정보 가져오기🎜🎜🎜🎜 🎜🎜🎜🎜🎜🎜판정 부분 🎜🎜🎜🎜🎜🎜🎜 🎜🎜🎜filesize ($path) 파일 크기 가져오기 int🎜🎜🎜🎜🎜🎜🎜🎜🎜 🎜filetype ($path) 파일 형식 문자열 가져오기(가능) 값: fifo, char, dir, 블록, 링크, 파일 및 알 수 없음)🎜 🎜🎜🎜🎜🎜🎜🎜rename ( 🎜🎜string $oldname , 🎜🎜string $newname [, 🎜🎜resource $context ] ) 이름 바꾸기 또는 이동 Return Boolean🎜🎜🎜🎜🎜🎜🎜🎜
    • unlink ( $path ) 删除文件  返回布尔

    • file_get_contents 将整个文件读如一个字符串

    • file_put_contents 将一个字符串写入文件

  代码:每执行一次文件,向文件头部追加 Hello word

$path = &#39;./hello.txt&#39;;
if (!file_exists($path)) {    
$handle = fopen($path, &#39;w+&#39;);    
fwrite($handle, &#39;Hello word&#39; . &#39;\r\n&#39;);    
fclose($handle);
} else {    
$handle = fopen($path, &#39;r&#39;);    
$content = fread($handle, filesize($path));    
$content = &#39;Hello word \r\n&#39; . $content;    
fclose($handle);    
$handle = fopen($path, &#39;w&#39;);    
fwrite($handle, $content);    
fclose($handle);
}

代码:遍历删除文件夹及文件夹下所有文件

function traversal_delete_dir($path) {    
if (is_dir($path)) {        
$handle = opendir($path);        
while (($file = readdir($handle)) !== false) {            
if ($file == &#39;.&#39; || $file == &#39;..&#39;) {                
continue;
            }            
            if (is_dir($path . &#39;/&#39; . $file)) 
            {
                traversal_delete_dir($path . &#39;/&#39; . $file);
            } else {                
            if (unlink($path . &#39;/&#39; . $file))
             {                    
            echo &#39;删除文件&#39; . $file . &#39;成功&#39;;
                }
            }
        }        
        closedir($handle);        
        rmdir($path);
    }
}

traversal_delete_dir(&#39;./shop_api&#39;);

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

 php的双向队列代码

php生成xml数据的方法

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

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