ホームページ > バックエンド開発 > PHPチュートリアル > PHP関数rmdir()の使い方テクニック解説_PHPチュートリアル

PHP関数rmdir()の使い方テクニック解説_PHPチュートリアル

WBOY
リリース: 2016-07-15 13:30:27
オリジナル
960 人が閲覧しました

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() の具体的な方法とテスト結果です。ご参考までに。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/446275.html技術記事 PHP 言語には、プログラミングで使用できる関数が数多くあり、その関数も非常に強力です。今日紹介するのは、HTMLに埋め込まれてサーバーから提供されるPHPです...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート