新聞中心
什么是文件操作?
文件操作指對(duì)計(jì)算機(jī)中存儲(chǔ)在磁盤(pán)上的數(shù)據(jù)進(jìn)行讀取、寫(xiě)入、復(fù)制、移動(dòng)等一系列操作。在Web開(kāi)發(fā)中,常用到的有上傳下載功能。

創(chuàng)新互聯(lián)公司專注于企業(yè)營(yíng)銷型網(wǎng)站、網(wǎng)站重做改版、南海網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁(yè)面制作、商城網(wǎng)站定制開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為南海等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
為什么需要去除給定路徑的文件或目錄?
當(dāng)我們?cè)谶M(jìn)行項(xiàng)目開(kāi)發(fā)時(shí),可能會(huì)遇到需要?jiǎng)h除某個(gè)特定路徑下的文件或者整個(gè)目錄。這時(shí)就需要使用PHP提供的相應(yīng)函數(shù)來(lái)實(shí)現(xiàn)了。
如何去除給定路徑下的單個(gè)文件?
rmdir()
該函數(shù)可以用于刪除一個(gè)空目錄。
它只能夠刪除空目錄而不能夠刪除非空目錄和單個(gè)普通文 件,否則會(huì)報(bào)錯(cuò)。如果你要?jiǎng)h除多級(jí)子目 錄,則必須先將所有子元素都遞歸地處理過(guò)后才能執(zhí)行 rmdir() 操作。
unlink()該函數(shù)可以用來(lái)刪除一個(gè)指向某一文 件路徑且存在于服務(wù)器上 的軟連接(符號(hào)鏈接)所對(duì)應(yīng) 的原始實(shí)體內(nèi)容。也可 以直接刪掉此處定義好了 的硬鏈接(即 ln 命令)。如果你嘗試通過(guò) unlink 函數(shù)直 接把一個(gè)普通文 件刪除掉,那么它會(huì)直接將該文件移出硬盤(pán),不 留任何痕跡。
如何去除給定路徑下的整個(gè)目錄?
同樣可以用于刪除一個(gè)空目錄。
但是如果要?jiǎng)h除非空目錄,則需要使用到遞歸函數(shù)來(lái)處理。
不能夠用于刪除整個(gè)目 錄。因?yàn)?unlink 僅能夠刪 掉單個(gè)文 件和符號(hào)鏈接,而無(wú)法對(duì) 多級(jí)子 目錄進(jìn)行一次性操作。
代碼示例:
以下是一個(gè)基本的PHP程序?qū)崿F(xiàn)去除指定路徑中文件或者整個(gè)目 錄的功能:
```
function removeDir($dirName){
if(is_dir($dirName)){
$handle = opendir($dirName);
while(false !== ($file = readdir($handle))){
if($file != '.' && $file != '..'){
is_dir("$dirName/$file")?removeDir("$dirName/$file"):unlink("$dirName/$file");
}
}
closedir($handle);
rmdir($dirName);
}else{
unlink($dirname);
}
}
// 刪除指定文件
$filename = 'test.txt';
if(file_exists ( $filename )) {
unlink( $filename );
echo "成功刪除".$filename;
} else {
echo "不存在該文件";
}
// 刪除指定路徑下所有內(nèi)容(包括子目錄)
$pathname = '/path/to/folder';
if(file_exists($pathname)){
removeDir($pathname);
echo "成功刪除".$pathname;
}else{
echo "不存在該路徑";
?>
分享名稱:PHP文件操作之去除給定路徑的文件或目錄
文章位置:http://m.5511xx.com/article/dhdosdj.html


咨詢
建站咨詢
