首頁  >  文章  >  後端開發  >  PHP剔除符合条件的整个目录

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

WBOY
WBOY原創
2016-06-13 12:18:03825瀏覽

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