php刪除檔案夾/目錄下所檔案(包含目錄)

來源:互聯網
上載者:User


例子

public function del(){
    header("Content-Type: text/html; charset=UTF-8");
    echo '點擊檔案名稱可以查看:<br>';
    $dir =getcwd()."/html/";
    //擷取某目錄下所有檔案、目錄名(不包括子目錄下檔案、目錄名)
    $handler = opendir($dir);
    while (($filename = readdir($handler)) !== false) {//務必使用!==,防止目錄下出現類似檔案名稱“0”等情況
        if ($filename != "." && $filename != "..") {
                $files[] = $filename ;
           }
       }
   
    closedir($handler);
     
//列印所有檔案名稱
foreach ($files as $value) {
    $url = 'http://'.$_SERVER['HTTP_HOST']."/html/".$value;
    echo "<a href='".$url."' target='_blank'>".$value."</a> | <a href='/index.php?s=/Index1/dodel/name/".$value."' target='_self'>刪除</a><br />";
}
    
 
}
 
 
public function dodel(){
    header("Content-Type: text/html; charset=UTF-8");
    $fname = $this->_get("name");
    $fname = getcwd()."/html/".$fname.".html";
    if(unlink($fname)){
        
        echo $fname.' 檔案刪除成功!<a href="javascript:history.go(-1);">返回</a>'; 
    }else{
        echo $fname.' 刪除失敗!<a href="javascript:history.go(-1);">返回</a>';
    }
}


擷取目錄下所有檔案,包括子目錄

 代碼如下 複製代碼
function get_allfiles($path,&$files) {
    if(is_dir($path)){
        $dp = dir($path);
        while ($file = $dp ->read()){
            if($file !="." && $file !=".."){
                get_allfiles($path."/".$file, $files);
            }
        }
        $dp ->close();
    }
    if(is_file($path)){
        $files[] =  $path;
    }
}
   
function get_filenamesbydir($dir){
    $files =  array();
    get_allfiles($dir,$files);
    return $files;
}
   
$filenames = get_filenamesbydir("static/image/");
//列印所有檔案名稱,包括路徑
foreach ($filenames as $value) {
    echo $value."<br />";
}


php刪除檔案夾及其檔案夾下所有檔案

 代碼如下 複製代碼
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;
  }
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.