Home >Backend Development >PHP Tutorial >Using the rmdir() function to implement PHP recursive deletion of directories_PHP tutorial

Using the rmdir() function to implement PHP recursive deletion of directories_PHP tutorial

WBOY
WBOYOriginal
2016-07-15 13:28:211296browse

We all know that PHP is a small open source technology that has gradually developed as more and more people realize its practicality. Rasmus Lerdorf released the first version of PHP in 1994. It has grown rapidly since then and has now reached version 4.0.3 with numerous improvements and improvements over the original release.

PHP is a scripting language embedded in HTML and interpreted by the server. It can be used to manage dynamic content, support databases, handle session tracking, or even build entire e-commerce sites. It supports many popular databases, including MySQL, PostgreSQL, Oracle, Sybase, Informix, and Microsoft SQL Server. Why is dynamic content so popular? Let's say you are managing an e-commerce site with 10 products. As long as the product doesn't change very often or it's not expected to change much, it's not difficult to hand-code 10 static product pages with the necessary information, forms, and whatnot. But let's say you want to add 10 or more products this month, and then more next month, and sometimes the prices change or you want to change the look and feel of your site. Then you're stuck rewriting dozens, maybe hundreds, of static pages by hand.

On the other hand, let’s say you start by creating the product.php page. Instead of static information, it is coded to pull information from the product database and build a page dynamically. Then you have a metadata page that can serve one, a hundred, or even a hundred thousand individual pages based on the information stored in the database. Now webmasters no longer have to simply update static pages all day long, because the information on the page can be updated at the same time as the information in the company's database is updated. This eliminates the headache of time lag (the time between changing information in the database and displaying it on the website). Let's look at an example of recursively deleting a directory in PHP. I hope it will be helpful to everyone.

The rmdir() function can do it, but if you want to delete a non-empty directory, you will not be able to delete it quickly. You must first delete the files in the directory, but there may be subdirectories in the directory, so you need to use PHP Recursively delete a directory:

PHP recursively delete a directory code:

<ol class="dp-xml">
<li class="alt"><span><span class="tag"><</SPAN><SPAN>?php  </SPAN></SPAN><LI class=""><SPAN>functiondeletedir($dir){  </SPAN><LI class=alt><SPAN>if(!</SPAN><SPAN class=attribute>handle</SPAN><SPAN>=@opendir($dir)){//检测要打开目录是否存在  </SPAN></SPAN><LI class=""><SPAN>die("没有该目录");  </SPAN><LI class=alt><SPAN>}  </SPAN><LI class=""><SPAN>while(false!==($</SPAN><SPAN class=attribute>file</SPAN><SPAN>=</SPAN><SPAN class=attribute-value>readdir</SPAN><SPAN>($handle))){  </SPAN></SPAN><LI class=alt><SPAN>if($file!=="."&&$file!==".."){//排除当前目录与父级目录  </SPAN><LI class=""><SPAN>$</SPAN><SPAN class=attribute>file</SPAN><SPAN>=$dir.DIRECTORY_SEPARATOR.$file;  </SPAN></SPAN><LI class=alt><SPAN>if(is_dir($file)){  </SPAN><LI class=""><SPAN>deletedir($file);  </SPAN><LI class=alt><SPAN>}else{  </SPAN><LI class=""><SPAN>if(@unlink($file)){  </SPAN><LI class=alt><SPAN>echo"文件</SPAN><SPAN class=tag><</SPAN><SPAN class=tag-name>b</SPAN><SPAN class=tag>></span><span>$file</span><span class="tag"></</SPAN><SPAN class=tag-name>b</SPAN><SPAN class=tag>></span><span>删除成功。</span><span class="tag"><</SPAN><SPAN class=tag-name>br</SPAN><SPAN class=tag>></span><span>";  </span></span></li>
<li class=""><span>}else{  </span></li>
<li class="alt">
<span>echo"文件</span><span class="tag"><</SPAN><SPAN class=tag-name>b</SPAN><SPAN class=tag>></span><span>$file</span><span class="tag"></</SPAN><SPAN class=tag-name>b</SPAN><SPAN class=tag>></span><span>删除失败!</span><span class="tag"><</SPAN><SPAN class=tag-name>br</SPAN><SPAN class=tag>></span><span>";  </span>
</li>
<li class=""><span>}  </span></li>
<li class="alt"><span>}  </span></li>
<li class=""><span>}  </span></li>
<li class="alt"><span>if(@rmdir($dir)){  </span></li>
<li class="">
<span>echo"目录</span><span class="tag"><</SPAN><SPAN class=tag-name>b</SPAN><SPAN class=tag>></span><span>$dir</span><span class="tag"></</SPAN><SPAN class=tag-name>b</SPAN><SPAN class=tag>></span><span>删除成功了。</span><span class="tag"><</SPAN><SPAN class=tag-name>br</SPAN><SPAN class=tag>></span><span>n";  </span>
</li>
<li class="alt"><span>}else{  </span></li>
<li class="">
<span>echo"目录</span><span class="tag"><</SPAN><SPAN class=tag-name>b</SPAN><SPAN class=tag>></span><span>$dir</span><span class="tag"></</SPAN><SPAN class=tag-name>b</SPAN><SPAN class=tag>></span><span>删除失败!</span><span class="tag"><</SPAN><SPAN class=tag-name>br</SPAN><SPAN class=tag>></span><span>n";  </span>
</li>
<li class="alt"><span>}  </span></li>
<li class=""><span>}  </span></li>
<li class="alt"><span> </span></li>
<li class=""><span>//测试程序  </span></li>
<li class="alt">
<span>$</span><span class="attribute">dir</span><span>=</span><span class="attribute-value">"/var/www/test"</span><span>;  </span>
</li>
<li class=""><span>deletedir($dir);  </span></li>
<li class="alt">
<span>?</span><span class="tag">></span><span> </span>
</li>
<li class=""><span> </span></li>
<li class="alt"><span>在/var/www/test文件夹下建一写文件夹和文件测试  </span></li>
<li class="">
<span>shell</span><span class="tag">></span><span>touchaaa  </span>
</li>
<li class="alt">
<span>shell</span><span class="tag">></span><span>touchbbb  </span>
</li>
<li class="">
<span>shell</span><span class="tag">></span><span>touchccc  </span>
</li>
<li class="alt">
<span>shell</span><span class="tag">></span><span>toucheee  </span>
</li>
<li class="">
<span>shell</span><span class="tag">></span><span>touchffff  </span>
</li>
<li class="alt">
<span>shell</span><span class="tag">></span><span>mkdir111  </span>
</li>
<li class="">
<span>shell</span><span class="tag">></span><span>mkdir222  </span>
</li>
<li class="alt">
<span>shell</span><span class="tag">></span><span>mkdir333  </span>
</li>
<li class=""><span>分别再在111,222,333文件夹下建写文件这里就不多说了,然后给他们权限  </span></li>
<li class="alt">
<span>shell</span><span class="tag">></span><span>chown[url]www.www[/url]test-R </span>
</li>
</ol>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/446454.htmlTechArticleWe all know that PHP is a small open source technology. As more and more people realize It gradually developed into its practicality. Rasmus Lerdorf released P...
in 1994
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn