PHP的unlink與rmdir刪除目錄及目錄下所有檔案方法

來源:互聯網
上載者:User
在php中刪除檔案與目錄其實很簡單只要兩個函數一個是unlink一個rmdir函數,如果要實現刪除目錄及目錄下的檔案我們需要利用遞迴來操作.本文主要和大家介紹了PHP unlink與rmdir刪除目錄及目錄下所有檔案的執行個體代碼,需要的朋友可以參考下,希望能協助到大家。

函數代碼:僅刪除指定目錄下的檔案,不刪除目錄檔案夾,代碼如下:

class shanchu { //迴圈目錄下的所有檔案 function delFileUnderDir( $dirName=”../Smarty/templates/templates_c” ) { if ( $handle = opendir( “$dirName” ) ) { while ( false !== ( $item = readdir( $handle ) ) ) { if ( $item != “.” && $item != “..” ) { if ( is_dir( “$dirName/$item” ) ) { delFileUnderDir( “$dirName/$item” ); } else {//開原始碼phpfensi.com if( unlink( “$dirName/$item” ) )echo “成功刪除檔案: $dirName/$item<br />n”; } } } closedir( $handle ); } } }

假設需要刪除一個名叫”upload”目錄下的所有檔案,但無需刪除目錄檔案夾,你可以通過以下程式碼完成:

<?php delFileUnderDir( ‘upload');?>

php刪除所有目錄,代碼如下:

function deltree($pathdir) { echo $pathdir;//調試時用的 if(is_empty_dir($pathdir))//如果是空的 { rmdir($pathdir);//直接刪除 } else {//否則讀這個目錄,除了.和..外 $d=dir($pathdir); while($a=$d->read()) { if(is_file($pathdir.'/'.$a) && ($a!='.') && ($a!='..')){unlink($pathdir.'/'.$a);} //如果是檔案就直接刪除 if(is_dir($pathdir.'/'.$a) && ($a!='.') && ($a!='..')) {//如果是目錄 if(!is_empty_dir($pathdir.'/'.$a))//是否為空白 {//如果不是,調用自身,不過是原來的路徑+他下級的目錄名 deltree($pathdir.'/'.$a); } if(is_empty_dir($pathdir.'/'.$a)) {//如果是空就直接刪除 rmdir($pathdir.'/'.$a); } } } $d->close(); echo "必須先刪除目錄下的所有檔案";//我調試時用的 } } function is_empty_dir($pathdir) { //判斷目錄是否為空白 $d=opendir($pathdir); $i=0; while($a=readdir($d)) { $i++; } closedir($d); if($i>2){return false;} else return true; }

PHP刪除目錄及目錄下所有檔案,代碼如下:

<?php //迴圈刪除目錄和檔案函數 function delDirAndFile( $dirName ) { if ( $handle = opendir( “$dirName” ) ) { while ( false !== ( $item = readdir( $handle ) ) ) { if ( $item != “.” && $item != “..” ) { if ( is_dir( “$dirName/$item” ) ) { delDirAndFile( “$dirName/$item” ); } else { if( unlink( “$dirName/$item” ) )echo “成功刪除檔案: $dirName/$item<br />n”; } } } closedir( $handle ); if( rmdir( $dirName ) )echo “成功刪除目錄: $dirName<br />n”; } } //假設需要刪除一個名叫”upload”的同級目錄即此目錄下的所有檔案,你可以通過以下程式碼完成: delDirAndFile( ‘upload'); ?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.