PHP が小規模なオープンソース テクノロジーであり、より多くの人がその実用性を認識するにつれて徐々に開発されていることは誰もが知っています。 Rasmus Lerdorf は 1994 年に PHP の最初のバージョンをリリースしました。それ以来急速に成長し、現在はオリジナルのリリースに数多くの改良が加えられ、バージョン 4.0.3 に達しています。
一方、product.php ページを作成することから始めるとします。静的な情報の代わりに、製品データベースから情報を取得し、動的にページを構築するようにコード化されています。これにより、データベースに保存されている情報に基づいて、1、100、さらには 100,000 の個別のページを提供できるメタデータ ページが作成されます。会社のデータベース内の情報が更新されるのと同時にページ上の情報も更新できるため、ウェブマスターは静的ページを一日中更新する必要がなくなりました。これにより、タイムラグ(データベース内の情報が変更されてからWebサイトに表示されるまでの時間)という悩みが解消されます。 PHP でディレクトリを再帰的に削除する例を見てみましょう。これが皆さんの役に立つことを願っています。
rmdir() 関数で実行できますが、空ではないディレクトリを削除する場合は、すぐに削除することはできません。まずディレクトリ内のファイルを削除する必要がありますが、ディレクトリ内にサブディレクトリが存在する可能性があります。したがって、PHP を使用してディレクトリを再帰的に削除する必要があります:
PHP 再帰的にディレクトリを削除するコード:
<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>