Heim  >  Artikel  >  Backend-Entwicklung  >  PHP剔除符合条件的整个目录

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

WBOY
WBOYOriginal
2016-06-13 12:18:03826Durchsuche

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>

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn