亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    php文件操作之去除給定路徑的文件或目錄

    在之前的文章《php文件操作之提取文件/目錄的名稱》中,我們了解了獲取文件/目錄的名稱部分的方法。這次我們繼續(xù)php文件操作系列的學習,來聊聊怎么刪除指定文件或者目錄,感興趣的朋友可以學習了解一下~

    在對文件/目錄進行操作時,不僅可以對文件中的數(shù)據(jù)進行操作,還可以對文件/目錄本身進行操作(例如刪除文件/目錄)。今天我們就來給大家介紹一下刪除指定文件或者目錄的方法。

    一:刪除指定文件操作

    刪除文件可以使用unlink($filename,$context)函數(shù),它可以刪除指定的文件$filename,可選參數(shù)$context用于規(guī)定文件句柄的環(huán)境。如果執(zhí)行成功時返回 TRUE,失敗時返回 FALSE。

    下面通過具體代碼示例來看看:

    例1:刪除同目錄下的“test.txt”文件

    php文件操作之去除給定路徑的文件或目錄

    <?php header("content-type:text/html;charset=utf-8"); $file = 'test.txt'; if(file_exists($file)){     if(unlink($file)){         echo $file.' 刪除成功!';     }else{         echo $file.' 刪除失??!';     } }else{     echo $file.' 不存在!'; } ?>

    輸出結(jié)果為:

    php文件操作之去除給定路徑的文件或目錄

    在重新打開目錄,看看文件,會發(fā)現(xiàn)“test.txt”文件已經(jīng)不存在了。

    php文件操作之去除給定路徑的文件或目錄

    例2:刪除D:demo目錄下的“text.txt”文件

    php文件操作之去除給定路徑的文件或目錄

    <?php header("content-type:text/html;charset=utf-8"); $file = 'D:/demo/text.txt'; if(file_exists($file)){     if(unlink($file)){         echo $file.' 刪除成功!';     }else{         echo $file.' 刪除失?。?#39;;     } }else{     echo $file.' 不存在!'; } ?>

    輸出結(jié)果為:

    php文件操作之去除給定路徑的文件或目錄

    在重新打開目錄,看看文件,會發(fā)現(xiàn)“text.txt”文件已經(jīng)不存在了。

    php文件操作之去除給定路徑的文件或目錄

    如何想要刪除一個目錄中的全部文件,可以利用循環(huán)和readdir()獲取D:demo目錄下的全部文件和目錄(不包括子目錄),然后將其中的文件全部刪除:

    <?php header("content-type:text/html;charset=utf-8"); $dir = 'D:/demo'; if (is_dir($dir)) { 	$info = opendir($dir); 	while (($file = readdir($info)) !== false) {//用不全等于是區(qū)分如果文件夾名字為0的時候,那么0!==false,仍然可以遍歷 		if ($file != "." && $file != ".." ) { 			$path = $dir . '/' . $file; 			if(is_dir($path)){ 				continue; 			} 			unlink($path); 		} 	} 	echo '文件刪除成功!'; 	closedir($info); }  ?>

    輸出結(jié)果為:

    php文件操作之去除給定路徑的文件或目錄

    在重新打開目錄,看看文件,會發(fā)現(xiàn)只剩下一個“img”文件夾還存在了。

    php文件操作之去除給定路徑的文件或目錄

    二:刪除指定目錄操作

    刪除目錄可以使用rmdir($dir,$context)函數(shù),$context是一個可省略的參數(shù),用于規(guī)定文件句柄的環(huán)境。如果執(zhí)行成功時返回 TRUE,失敗時返回 FALSE。

    需要注意的是:使用 rmdir() 函數(shù)刪除指定目錄時,這個目錄必須是空的,而且要有相應的權(quán)限。如果刪除一個不為空的目錄還會產(chǎn)生一個 E_WERNING 級別的錯誤。

    下面通過具體代碼示例來看看:刪除D:demo目錄下的空目錄“img”

    <?php 	header("content-type:text/html;charset=utf-8");     $dir = 'D:/demo/img';     if(is_dir($dir)){         if(rmdir($dir)) echo '目錄刪除成功!';     }else{         echo "目錄不存在!";     } ?>

    輸出結(jié)果為:

    php文件操作之去除給定路徑的文件或目錄

    在重新打開目錄,看看文件,會發(fā)現(xiàn)空目錄“img”不存在了。

    php文件操作之去除給定路徑的文件或目錄

    但大部分情況下,我們需要刪除的目錄并不為空,里面又會包含很多子文件和子目錄,這要怎么操作才能刪除指定目錄及其子文件和目錄呢?

    具體實現(xiàn)方法:可以遍歷這個目錄下的所有文件和文件夾,并用遞歸的方式來逐個刪除這個目錄下的所有文件和文件夾

    下面給出具體的實現(xiàn)代碼:

    <?php     function deldir($path){         //如果是目錄則繼續(xù)         if(is_dir($path)){             //掃描一個文件夾內(nèi)的所有文件夾和文件并返回數(shù)組             $p = scandir($path);             //如果 $p 中有兩個以上的元素則說明當前 $path 不為空             if(count($p)>2){                 foreach($p as $val){                     //排除目錄中的.和..                     if($val !="." && $val !=".."){                         //如果是目錄則遞歸子目錄,繼續(xù)操作                         if(is_dir($path.$val)){                             //子目錄中操作刪除文件夾和文件                             deldir($path.$val.'/');                         }else{                             //如果是文件直接刪除                             unlink($path.$val);                         }                     }                 }             }         }         //刪除目錄         return rmdir($path);     }     //設(shè)置需要刪除的文件夾     $path = "D:/demo/";     //調(diào)用函數(shù),傳入路徑     deldir($path); ?>

    好了就說到這里了,有其他想知道的,可以點擊這個哦?!?→PHP文件基礎(chǔ)操作

    推薦:《PHP面試題大匯總(收藏)》《php視頻教程》

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號