>  기사  >  백엔드 개발  >  PHP 개발 팁(5) - 폴더 재귀 삭제를 위한 코드 사례

PHP 개발 팁(5) - 폴더 재귀 삭제를 위한 코드 사례

黄舟
黄舟원래의
2017-03-10 18:43:581241검색

개발 과정에서 디스크에 있는 파일을 직접 조작해야 하는 경우가 많은데 이는 프로그래밍에서는 불가피합니다. 다음 코드에서는 디스크에 있는 파일을 재귀적으로 삭제하는 방법을 소개합니다.

<?php  
  
/** 
 * ======================================= 
 * Created by Zhihua_W. 
 * Author: Zhihua_W 
 * Date: 2016/12/3 0005 
 * Time: 下午 5:21 
 * Project: PHP开发小技巧 
 * Power: 实现递归删除文件夹 
 * ======================================= 
 */  
  
/** 
 * 递归删除文件夹 
 * @param $dir 文件夹路径 
 * @param string $file_type 
 */  
function delFile($dir, $file_type = &#39;&#39;)  
{  
    if (is_dir($dir)) {  
        $files = scandir($dir);  
        //打开目录  
        //列出目录中的所有文件并去掉 . 和 ..  
        foreach ($files as $filename) {  
            if ($filename != &#39;.&#39; && $filename != &#39;..&#39;) {  
                if (!is_dir($dir . &#39;/&#39; . $filename)) {  
                    if (empty($file_type)) {  
                        unlink($dir . &#39;/&#39; . $filename);  
                    } else {  
                        if (is_array($file_type)) {  
                            //正则匹配指定文件  
                            if (preg_match($file_type[0], $filename)) {  
                                unlink($dir . &#39;/&#39; . $filename);  
                            }  
                        } else {  
                            //指定包含某些字符串的文件  
                            if (false != stristr($filename, $file_type)) {  
                                unlink($dir . &#39;/&#39; . $filename);  
                            }  
                        }  
                    }  
                } else {  
                    delFile($dir . &#39;/&#39; . $filename);  
                    rmdir($dir . &#39;/&#39; . $filename);  
                }  
            }  
        }  
    } else {  
        if (file_exists($dir)) unlink($dir);  
    }  
}

파일 아래의 모든 파일을 삭제하려면 파일 경로를 전달해야 합니다. 직접 해보셔도 됩니다......

위 내용은 PHP 개발 팁(5) - 폴더 재귀 삭제를 위한 코드 사례의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.