利用rmdir()函數實現PHP遞迴刪除目錄_PHP教程

來源:互聯網
上載者:User
我們大家都知道PHP 是一個小開放源碼的一門技術,隨著越來越多的人意識到它的實用性從而逐漸發展起來。Rasmus Lerdorf 在 1994 年發布了 PHP 的第一個版本。從那時起它就飛速發展,並在原始發行版上經過無數的改進和完善現在已經發展到版本 4.0.3 。

PHP 是一種嵌入在 HTML 並由伺服器解釋的指令碼語言。它可以用於管理動態內容、支援資料庫、處理會話跟蹤,甚至構建整個電子商務網站。它支援許多流行的資料庫,包括 MySQL、PostgreSQL、Oracle、Sybase、Informix 和 Microsoft SQL Server。動態內容為什 麼這麼熱門?假設您正在管理有 10 個產品的電子商務網站。只要產品不是經常變動或者預料到它不會有太大的變動,那麼手工編寫 10 個帶有必要的資訊、表單和諸如此類內容的靜態產品頁面是不困難的。但是,假設您在本月再要添加 10 個或更多產品,然後在下個月要更多,而且價格有時會變動或者想改變網站的觀感。那麼您就會陷入用手工重新編寫數十個,也許上百個靜態頁面的困境中。

另一方面,假設您從建立 product.php 頁面開始。它沒有靜態資訊,而是編碼成可以從產品資料庫中提取資訊並動態地構建一個頁面。然後您就擁有了一個中繼資料頁面,它可以根據儲存在資料庫中的資訊 提供一個、一百個、甚至十萬個單獨頁面。現在網站管理員不再整天都簡單重複更新靜態頁面的工作,因為在更新公司資料庫中的資訊同時就可以更新頁面上的信 息。這樣就消除了令人頭疼的時間延遲(在資料庫中更改資訊和在網站上顯示資訊之間的時間間隔)。下面我們來看一個php遞迴刪除目錄的例子,希望對大家有協助。

rmdir()函數就可以搞定,但是要刪除一個非空目錄,將不能進行快速的刪除,必須先將目錄中檔案刪除,但是目錄裡可能還會有子目錄所以要進行PHP遞迴刪除目錄:

PHP遞迴刪除目錄代碼:

 
  1. <?php
  2. functiondeletedir($dir){
  3. if(!handle=@opendir($dir)){//檢測要開啟目錄是否存在
  4. die("沒有該目錄");
  5. }
  6. while(false!==($file=readdir($handle))){
  7. if($file!=="."&&$file!==".."){//排除目前的目錄與父級目錄
  8. $file=$dir.DIRECTORY_SEPARATOR.$file;
  9. if(is_dir($file)){
  10. deletedir($file);
  11. }else{
  12. if(@unlink($file)){
  13. echo"檔案<b>$fileb>刪除成功。<br>";
  14. }else{
  15. echo"檔案<b>$fileb>刪除失敗!<br>";
  16. }
  17. }
  18. }
  19. if(@rmdir($dir)){
  20. echo"目錄<b>$dirb>刪除成功了。<br>n";
  21. }else{
  22. echo"目錄<b>$dirb>刪除失敗!<br>n";
  23. }
  24. }
  25. //測試程式
  26. $dir="/var/www/test";
  27. deletedir($dir);
  28. ?>
  29. 在/var/www/test檔案夾下建一寫檔案夾和檔案測試
  30. shell>touchaaa
  31. shell>touchbbb
  32. shell>touchccc
  33. shell>toucheee
  34. shell>touchffff
  35. shell>mkdir111
  36. shell>mkdir222
  37. shell>mkdir333
  38. 分別再在111,222,333檔案夾下建寫檔案這裡就不多說了,然後給他們許可權
  39. shell>chown[url]www.www[/url]test-R

http://www.bkjia.com/PHPjc/446454.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/446454.htmlTechArticle我們大家都知道PHP 是一個小開放源碼的一門技術,隨著越來越多的人意識到它的實用性從而逐漸發展起來。Rasmus Lerdorf 在 1994 年發布了 P...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.