A-AA+then

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

ผมใช้โค้ดนี้ เมื่อไม่สามารถลบไฟล์ ด้วย 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/" );
?>

PHP

Relate

^