首頁 >後端開發 >php教程 >PHP的檔案和目錄操作

PHP的檔案和目錄操作

不言
不言原創
2018-07-04 16:53:364827瀏覽

這篇文章主要介紹了關於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 , 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 ) 取得檔案大小  intfiletype ( $path ) 取得檔案類型string (可能值:fifo,char,dir,block,link,file 和unknown)

      #############rename ( ######string ###$oldname### , ######string ####$newname### [, ######resource ###$context### ] ) 重新命名或移動  返回布林################################################################################################################################
    • 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