php文件操作之去除給定路徑的文件或目錄_第1頁(yè)
php文件操作之去除給定路徑的文件或目錄_第2頁(yè)
php文件操作之去除給定路徑的文件或目錄_第3頁(yè)
php文件操作之去除給定路徑的文件或目錄_第4頁(yè)
php文件操作之去除給定路徑的文件或目錄_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

一:刪除指定文件操作

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

下面通過(guò)具體代碼示例來(lái)看看:

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

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é)果為:

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

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

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.刪除失??!

}else{

echo$file.不存在!

輸出結(jié)果為:

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

如何想要?jiǎng)h除一個(gè)目錄中的全部文件,可以利用循環(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的時(shí)候,那么0!==false,仍然可以遍歷

if($file!=.$file!=..){

$path=$dir./.$file;

if(is_dir($path)){

continue;

unlink($path);

echo文件刪除成功!

closedir($info);

輸出結(jié)果為:

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

二:刪除指定目錄操作

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

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

下面通過(guò)具體代碼示例來(lái)看看:刪除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é)果為:

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

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

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

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

php

functiondeldir($path){

//如果是目錄則繼續(xù)

if(is_dir($path)){

//掃描一個(gè)文件夾內(nèi)的所有文件夾和文件并返回?cái)?shù)組

$p=scandir($path);

//如果$p中有兩個(gè)以上的元素則說(shuō)明當(dāng)前$path不為空

if(count($p)2){

foreach($pas$val){

//排除目錄中的.和..

if($val!=.$val!=..){

//如果是目錄則遞歸子目錄,繼續(xù)操作

if(is_dir($path.$val)){

//子目錄中操作刪除文件夾和文件

deldir($path.$val./

}else{

//如果是文件直接刪除

unli

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論