>백엔드 개발 >PHP 튜토리얼 >PHP剔除符合条件的整个目录

PHP剔除符合条件的整个目录

WBOY
WBOY원래의
2016-06-13 12:18:03863검색

PHP删除符合条件的整个目录

<span style="font-size: 15px;"><span style="color: #000000;">php    </span><span style="color: #008000;">/*</span><span style="color: #008000;">*    *    @name       delFile函数与delDir函数一起使用, 删除符合条件的整个目录    *    @param      string  $path   指定操作路径    *    @return     null    *    @example    delDir('D:\web\Apache\htdocs\KeyShareMall\Pc\ThinkPHP');    </span><span style="color: #008000;">*/<br>  <br></span>   // 删除目录    <span style="color: #0000ff;">function</span> delFile(<span style="color: #800080;">$path</span><span style="color: #000000;">)    {        </span><span style="color: #0000ff;">if</span> (<span style="color: #0000ff;">empty</span>(<span style="color: #800080;">$path</span><span style="color: #000000;">)) {            </span><span style="color: #0000ff;">echo</span> '请指定要操作的文件路径'<span style="color: #000000;">;            </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #000000;">;        }        </span><span style="color: #0000ff;">if</span> ( <span style="color: #800080;">$handle</span>  =  <span style="color: #008080;">opendir</span> ( <span style="color: #800080;">$path</span><span style="color: #000000;"> )) {            </span><span style="color: #0000ff;">while</span> ( <span style="color: #0000ff;">false</span>  !== ( <span style="color: #800080;">$fileName</span>  =  <span style="color: #008080;">readdir</span> ( <span style="color: #800080;">$handle</span><span style="color: #000000;"> ))) {                </span><span style="color: #0000ff;">if</span> ( <span style="color: #800080;">$fileName</span>  !=  "."  &&  <span style="color: #800080;">$fileName</span>  !=  ".."<span style="color: #000000;"> ) {                                        </span><span style="color: #0000ff;">if</span> (<span style="color: #008080;">is_file</span>(<span style="color: #800080;">$path</span> . '/' . <span style="color: #800080;">$fileName</span><span style="color: #000000;">)) {                        </span><span style="color: #008080;">unlink</span>(<span style="color: #800080;">$path</span> . '/' . <span style="color: #800080;">$fileName</span><span style="color: #000000;">);                                                                    }                    </span><span style="color: #0000ff;">if</span> (<span style="color: #008080;">is_dir</span>(<span style="color: #800080;">$path</span> . '/' . <span style="color: #800080;">$fileName</span><span style="color: #000000;">)) {                        delFile(</span><span style="color: #800080;">$path</span> . '/' . <span style="color: #800080;">$fileName</span><span style="color: #000000;">);                                            }                }            }            </span><span style="color: #008080;">rmdir</span>(<span style="color: #800080;">$path</span><span style="color: #000000;">);            </span><span style="color: #008080;">closedir</span> ( <span style="color: #800080;">$handle</span><span style="color: #000000;"> );        }    }    </span><span style="color: #0000ff;">function</span> delDir(<span style="color: #800080;">$path</span> = ''<span style="color: #000000;">)    {        </span><span style="color: #0000ff;">if</span> (<span style="color: #0000ff;">empty</span>(<span style="color: #800080;">$path</span><span style="color: #000000;">)) {            </span><span style="color: #0000ff;">echo</span> '请指定要操作的文件路径'<span style="color: #000000;">;            </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #000000;">;        } </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> {            </span><span style="color: #800080;">$path</span> = <span style="color: #008080;">str_replace</span>('\\', '/', <span style="color: #800080;">$path</span><span style="color: #000000;">);        }        </span><span style="color: #0000ff;">if</span> ( <span style="color: #800080;">$handle</span> = <span style="color: #008080;">opendir</span>(<span style="color: #800080;">$path</span><span style="color: #000000;">)) {            </span><span style="color: #0000ff;">while</span> (<span style="color: #0000ff;">false</span> !== ( <span style="color: #800080;">$fileName</span>  =  <span style="color: #008080;">readdir</span> ( <span style="color: #800080;">$handle</span><span style="color: #000000;"> ))) {                </span><span style="color: #0000ff;">if</span> ( <span style="color: #800080;">$fileName</span>  !=  "."  &&  <span style="color: #800080;">$fileName</span>  !=  ".."<span style="color: #000000;"> ) {                    </span><span style="color: #0000ff;">if</span> (<span style="color: #008080;">is_dir</span>(<span style="color: #800080;">$path</span> . '/' . <span style="color: #800080;">$fileName</span><span style="color: #000000;">)) {                        </span><span style="color: #0000ff;">echo</span> <span style="color: #800080;">$fileName</span> . "<br>"<span style="color: #000000;">;                        </span><span style="color: #008000;">//</span><span style="color: #008000;"> 删除含有Zip字符的目录</span>                        <span style="color: #0000ff;">if</span> (<span style="color: #008080;">strpos</span>(<span style="color: #800080;">$fileName</span>, 'Zip') !== <span style="color: #0000ff;">false</span><span style="color: #000000;">) {                            delFile(</span><span style="color: #800080;">$path</span> . '/' . <span style="color: #800080;">$fileName</span><span style="color: #000000;">);                                                    } </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> {                            delDir(</span><span style="color: #800080;">$path</span> . '/' . <span style="color: #800080;">$fileName</span><span style="color: #000000;">);                        }                    }                }            }            </span><span style="color: #008080;">closedir</span> ( <span style="color: #800080;">$handle</span><span style="color: #000000;"> );        }    }        </span><span style="color: #008000;">delDir('D:\web\Apache\htdocs\KeyShareMall\Pc\ThinkPHP');</span> ?></span>

 

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