PHP 言語には、プログラミングで使用できる関数がたくさんあり、その関数も非常に強力です。今日ご紹介するのは PHP は HTML に埋め込まれ、サーバーによって解釈されるスクリプト言語です。動的コンテンツの管理、データベースのサポート、セッション追跡の処理、さらには電子商取引サイト全体の構築にも使用できます。 MySQL、PostgreSQL、Oracle、Sybase、Informix、Microsoft SQL Server など、多くの一般的なデータベースをサポートしています。ダイナミック コンテンツがこれほど人気があるのはなぜですか? あなたが 10 個の商品を扱う電子商取引サイトを管理しているとします。製品が頻繁に変更されない、またはあまり変更が予想されない限り、必要な情報、フォームなどを含む 10 個の静的な製品ページを手作業でコーディングすることは難しくありません。しかし、今月は 10 個以上の商品を追加し、来月はさらに商品を追加したいと考えており、場合によっては価格が変更されたり、サイトの外観や雰囲気を変更したいと考えているとします。そうなると、数十、おそらくは数百もの静的ページを手動で書き直すことになります。
一方、product.php ページを作成することから始めるとします。静的な情報の代わりに、製品データベースから情報を取得し、動的にページを構築するようにコード化されています。これにより、データベースに保存されている情報に基づいて、1、100、さらには 100,000 の個別のページを提供できるメタデータ ページが作成されます。会社のデータベース内の情報が更新されるのと同時にページ上の情報も更新できるため、ウェブマスターは静的ページを一日中更新する必要がなくなりました。これにより、タイムラグ(データベース内の情報が変更されてからWebサイトに表示されるまでの時間)という悩みが解消されます。 PHP でディレクトリを再帰的に削除する例を見てみましょう。これが皆さんの役に立つことを願っています。
PHP 関数 rmdir() で実行できますが、空ではないディレクトリを削除する場合は、すぐに削除することはできません。まずディレクトリ内のファイルを削除する必要がありますが、ディレクトリ内にサブディレクトリが存在する可能性があります。ディレクトリを再帰的に削除するには、PHP を使用する必要があります:
PHP 再帰的にディレクトリを削除するコード:
<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>
/var/www/test フォルダーの下にフォルダーとファイル test を作成します
<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>
111 の下にファイルを作成します。 、222、333 のフォルダーがそれぞれここにはありませんもっと詳しく言ってから許可を与えてください
<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>
上記は、PHP のディレクトリの再帰的削除を実装するための PHP 関数 rmdir() の具体的な方法とテスト結果です。ご参考までに。