Home >Backend Development >PHP Tutorial >Explanation of usage techniques of PHP function rmdir()_PHP tutorial
In the PHP language, there are many functions for us to use in programming, and their functions are also very powerful. What we are going to introduce to you today is 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.
PHP function rmdir() 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 delete it. 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><li><span>functiondeletedir($dir){ </span></li><li class="alt"><span>if(!</span><span class="attribute">handle</span><span>=@opendir($dir)){//检测要打开目录是否存在 </span></li><li><span>die("没有该目录"); </span></li><li class="alt"><span>} </span></li><li><span>while(false!==($</span><span class="attribute">file</span><span>=</span><span class="attribute-value">readdir</span><span>($handle))){ </span></li><li class="alt"><span>if($file!=="."&&$file!==".."){//排除当前目录与父级目录 </span></li><li><span>$</span><span class="attribute">file</span><span>=$dir.DIRECTORY_SEPARATOR.$file; </span></li><li class="alt"><span>if(is_dir($file)){ </span></li><li><span>deletedir($file); </span></li><li class="alt"><span>}else{ </span></li><li><span>if(@unlink($file)){ </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></span></li> <li><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><span>} </span></li> <li class="alt"><span>} </span></li> <li><span>} </span></li> <li class="alt"><span>if(@rmdir($dir)){ </span></li> <li> <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> <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><span>} </span></li> <li class="alt"><span>//测试程序 </span></li> <li> <span>$</span><span class="attribute">dir</span><span>=</span><span class="attribute-value">"/var/www/test"</span><span>; </span> </li> <li class="alt"><span>deletedir($dir); </span></li> <li> <span>?</span><span class="tag">></span><span> </span> </li> </ol>
Create a folder and file test under the /var/www/test folder
<ol class="dp-xml"> <li class="alt"><span><span>shell</span><span class="tag">></span><span>touchaaa </span></span></li> <li> <span>shell</span><span class="tag">></span><span>touchbbb </span> </li> <li class="alt"> <span>shell</span><span class="tag">></span><span>touchccc </span> </li> <li> <span>shell</span><span class="tag">></span><span>toucheee </span> </li> <li class="alt"> <span>shell</span><span class="tag">></span><span>touchffff </span> </li> <li> <span>shell</span><span class="tag">></span><span>mkdir111 </span> </li> <li class="alt"> <span>shell</span><span class="tag">></span><span>mkdir222 </span> </li> <li> <span>shell</span><span class="tag">></span><span>mkdir333 </span> </li> </ol>
Create and write files in the 111, 222, and 333 folders respectively. I won’t go into details here, and then give them permissions
<ol class="dp-xml"><li class="alt"><span><span>shell</span><span class="tag">></span><span>chown[url]www.www[/url]test-R </span></span></li></ol>
The above is the PHP function rmdir() that implements PHP recursive deletion of directories. The specific methods and test results are for your reference.