程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php刪除目錄與目錄中文件代碼

php刪除目錄與目錄中文件代碼

編輯:關於PHP編程

要刪除目錄我們必須先刪除目錄中的文件才行,在php中刪除文件很簡單unlink(),刪除空目錄使用rmdir即可。

例1

 代碼如下 復制代碼

function del_dir($dir){
{
if (!$dir) { return ; }
$cacheDir = $dir;
$dh = opendir($cacheDir);
while ( $file = readdir($dh) ) {

if (($file == '.') || ($file == '..')) { continue; }

if (file_exists( $cacheDir .'/'.$file)) {
if(is_dir( $cacheDir .'/'.$file)){
del_dir($cacheDir .'/'.$file);
}elseif (!unlink($cacheDir .'/'. $file)) {

//刪除完操作
}
}
}
}
}

例2

 代碼如下 復制代碼

<?
function deldir($dir) {
  //先刪除目錄下的文件:
  $dh=opendir($dir);
  while ($file=readdir($dh)) {
    if($file!="." && $file!="..") {
      $fullpath=$dir."/".$file;
      if(!is_dir($fullpath)) {
          unlink($fullpath);
      } else {
          deldir($fullpath);
      }
    }
  }
 
  closedir($dh);
  //刪除當前文件夾:
  if(rmdir($dir)) {
    return true;
  } else {
    return false;
  }
}

?>

例3

 代碼如下 復制代碼

function removeDir($dirName)
{
     if(!is_dir($dirName)) //如果傳入的參數不是目錄,則為文件,應將其刪除
     {
     @unlink($dirName);//刪除文件
       return false;
     }
     $handle = @opendir($dirName); //如果傳入的參數是目錄,則使用opendir將該目錄打開,將返回的句柄賦值給$handle
     while(($file = @readdir($handle)) !== false) //這裡明確地測試返回值是否全等於(值和類型都相同)FALSE,否則任何目錄項的名稱求值為 FALSE 的都會導致循環停止(例如一個目錄名為“0”)。
     {
         if($file!='.'&&$file!='..') //在文件結構中,都會包含形如“.”和“..”的向上結構,但是它們不是文件或者文件夾
         {
         $dir = $dirName . '/' . $file; //當前文件$dir為文件目錄+文件
         is_dir($dir)?removeDir($dir):@unlink($dir); //判斷$dir是否為目錄,如果是目錄則遞歸調用reMoveDir($dirName)函數,將其中的文件和目錄都刪除;如果不是目錄,則刪除該文件
         }
     }
     closedir($handle);
     
     return rmdir($dirName) ;
}

例4
刪除幾天前創建的目錄

 代碼如下 復制代碼

<?php
function delfile($dir,$n) //刪除DIR路徑下N天前創建的所有文件;
{
if(is_dir($dir))
  {
 if($dh=opendir($dir))
   {
    while (false !== ($file = readdir($dh)))
    {
     if($file!="." && $file!="..")
     {
       $fullpath=$dir."/".$file;
       if(!is_dir($fullpath))
       {           
        $filedate=date("Y-m-d", filemtime($fullpath));
        $d1=strtotime(date("Y-m-d"));
        $d2=strtotime($filedate);
        $Days=round(($d1-$d2)/3600/24);
        if($Days>$n)
        unlink($fullpath);  ////刪除文件
  
         }
     }     
    }
   }
   closedir($dh);
 }
}
?>


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved