首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 遞迴遍歷刪除目錄與檔案實作

     編輯:PHP 綜合知識

本文示範如何以遞迴函式遍歷目錄並刪除所有檔案與子目錄,稍加修改即可轉為複製功能。

<?php
function mover($src, $dst) {
    $handle = opendir($src);
    if (!is_dir($dst)) mkdir($dst, 0755);

    while ($file = readdir($handle)) {
        if ($file !== "." && $file !== "..") {
            $srcPath = $src . "/" . $file;
            $dstPath = $dst . "/" . $file;

            if (is_dir($srcPath)) {
                mover($srcPath, $dstPath); // 遞迴處理子目錄
            } else {
                copy($srcPath, $dstPath);
                unlink($srcPath); // 僅需複製時註解此行
            }
        }
    }
    closedir($handle);
    rmdir($src); // 刪除空來源目錄
}
?>

原理:opendir 開啟目錄、readdir 逐一讀取、is_dir 判斷類型、遞迴呼叫自身處理子層,最後 rmdir 移除空目錄。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved