ลบทั้งไดเร็คทอรี่

การลบไฟล์ทั้งไดเร็คทอรี่ และไดเร็คทอรี่ย่อย

ผมใช้โค้ดนี้ เมื่อไม่สามารถลบไฟล์ ด้วย ftp ได้ เนื่องจาก การ run code บน server จะถูกมองว่าโค้ดเป็นเจ้าของไฟล์ ทำให้สามารถลบไฟล์ทั้งหมดได้

<?
function delete( $dir )
{
 $f = opendir( $dir );
 while ( $text = readdir( $f ) )
 {
  if( $text != "." && $text != ".." ) //เป็นไฟล์หรือ ไดเร็คทอรี่
  {
   if( is_dir( $dir.$text.'/' ) ) //เป็น ไดเร็คทอรี่
   {
    delete( $dir.$text.'/' ); //ลบไดเร็คทอรี่ี่ ถัดไป
    rmdir( $dir.$text.'/' ); //ลบไดเร็คทอรี่ี่นี้
   }
   else
   {
    unlink( $dir.$text ); //ลบไฟล์
   };
   echo "<br>".$text; //แสดงรายชื่อไฟล์ที่ลบ
  };
 };
 closedir( $f );
};

//ฟังก์ชั่น ลบไดเร็คทอรี่
function removedir( $dir )
{
 delete($dir);
 rmdir($dir);
}

//ลบไดเร็คทอรี่ data ที่อยู่ในไดเร็คทอรี่ระดับเดียวกันกับหน้านี้
removedir( "data/" );
?>

ผู้เขียน goragod โพสต์เมื่อ 01 เม.ย. 2551 เปิดดู 7,378 ป้ายกำกับ PHP
^