有時候我們需要用php刪除文件夾及其文件夾下所有文件,那麼就可以使用下面的代碼了,需要的朋友可以參考下。根據自身要求添加功能
代碼如下:
<?
function deldir($dir) {
//先刪除目錄下的文件:
$dh=opendir($dir);
while ($file=readdir($dh)) {
if($file!="." &&$file!="..") {
$fullpath=$dir."/".$file;
if(!is_dir($fullpath)) {
unlink($fullpath);
} else {
deldir($fullpath);
}
}
}
closedir($dh);
//刪除當前文件夾:
if(rmdir($dir)) {
return true;
} else {
return false;
}
}
?>
實例:
刪除某個文件夾下的所有「.svn」文件夾(包括其內容也要被刪除).
<?php
function delsvn($dir) {
$dh=opendir($dir);
//找出所有".svn「 的文件夾:
while ($file=readdir($dh)) {
if($file!="." &&$file!="..") {
$fullpath=$dir."/".$file;
if(is_dir($fullpath)) {
if($file==".svn"){
delsvndir($fullpath);
}else{
delsvn($fullpath);
}
}
}
}
closedir($dh);
}
function delsvndir($svndir){
//先刪除目錄下的文件:
$dh=opendir($svndir);
while($file=readdir($dh)){
if($file!="."&&$file!=".."){
$fullpath=$svndir."/".$file;
if(is_dir($fullpath)){
delsvndir($fullpath);
}else{
unlink($fullpath);
}
}
}
closedir($dh);
//刪除目錄文件夾
if(rmdir($svndir)){
return true;
}else{
return false;
}
}
$dir=dirname(__FILE__);
//echo $dir;
delsvn($dir);
?>
2. php怎麼刪除某一目錄下的指定文件類型
php中刪除文件有一個系統函數:
unlink ( string $filename );
參數$filename 表示文件的路徑,可以是相對路徑也可以是絕對路徑。
列如,當前目錄下有個文件:test.html
可以執行 unlink ( 'test.html' );來刪除
另外刪除目錄用函數:rmdir();用法與unlink ()相同
你可以去後盾人平台看看,裡面的視頻對你是很有幫助的
3. PHP刪除指定目錄中的所有目錄及文件的方法
本文實例講述了PHP刪除指定目錄中的所有目錄及文件的方法。分享給大家供大家參考。具體實現方法如下:
<?php
/*
*
*
刪除指定目錄中的所有目錄及文件(或者指定文件)
*
可擴展增加一些選項(如是否刪除原目錄等)
*
刪除文件敏感操作謹慎使用
*
@param
$dir
目錄路徑
*
@param
array
$file_type指定文件類型
*/
function
delFile($dir,$file_type='')
{
if(is_dir($dir)){
$files
=
scandir($dir);
//打開目錄
//列出目錄中的所有文件並去掉
.
和
..
foreach($files
as
$filename){
if($filename!='.'
&&
$filename!='..'){
if(!is_dir($dir.'/'.$filename)){
if(empty($file_type)){
unlink($dir.'/'.$filename);
}else{
if(is_array($file_type)){
//正則匹配指定文件
if(preg_match($file_type[0],$filename)){
unlink($dir.'/'.$filename);
}
}else{
//指定包含某些字元串的文件
if(false!=stristr($filename,$file_type)){
unlink($dir.'/'.$filename);
}
}
}
}else{
delFile($dir.'/'.$filename);
rmdir($dir.'/'.$filename);
}
}
}
}else{
if(file_exists($dir))
unlink($dir);
}
}
delFile(dirname(__FILE__),'html');
希望本文所述對大家的php程序設計有所幫助。
4. php刪除一個路徑下的所有文件夾和文件的方法
php遍歷一個文件夾內的所有文件和文件夾,並刪除所有文件夾和子文件夾下的所有文件的代碼,通過遞歸方式實現達到清空一個目錄的效果,代碼簡單實用。
也適合在thinkphp中清理緩存,在thinkphp中可以把下面代碼寫入./Application/Admin/Common/function.php文件中,再在控制器調用這個函數進行清理操作。
用到的函數:
scandir($path)
遍歷一個文件夾所有文件並返回數組。
unlink($filename)
刪除文件。
rmdir($path)
只刪除空文件夾
<?php
//設置需要刪除的文件夾
$path
=
"./Application/Runtime/";
//清空文件夾函數和清空文件夾後刪除空文件夾函數的處理
function
deldir($path){
//如果是目錄則繼續
if(is_dir($path)){
//掃描一個文件夾內的所有文件夾和文件並返回數組
$p
=
scandir($path);
foreach($p
as
$val){
//排除目錄中的.和..
if($val
!="."
&&
$val
!=".."){
//如果是目錄則遞歸子目錄,繼續操作
if(is_dir($path.$val)){
//子目錄中操作刪除文件夾和文件
deldir($path.$val.'/');
//目錄清空後刪除空文件夾
@rmdir($path.$val.'/');
}else{
//如果是文件直接刪除
unlink($path.$val);
}
}
}
}
}
//調用函數,傳入路徑
deldir($path);
總結
以上所述是小編給大家介紹的php刪除一個路徑下的所有文件夾和文件的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
您可能感興趣的文章:PHP循環輸出指定目錄下的所有文件和文件夾路徑例子(簡單實用)php獲取文件夾路徑內的圖片以及分頁顯示示例PHP獲取文件相對路徑的方法查找php配置文件php.ini所在路徑的二種方法
5. PHP怎麼刪除某目錄下指定的一個文件
php中刪除文件有一個系統函數:x0dx0aunlink ( string $filename );x0dx0a參數$filename 表示文件的路徑,可以是相對路徑也可以是絕對路徑。x0dx0a列如,當前目錄下有個文件:test.htmlx0dx0a可以執行 unlink ( 'test.html);來刪除x0dx0a另外刪除目錄用函數:rmdir();用法與unlink ()相同
6. 如何完全刪除或卸載PHPnow PHP環境配置包
PHPnow是PHP平台很方便的搭建工具聚,但俗話說的好,輕聲容易送神難。
PHPnow不是常規的安裝軟體,所以他沒有像一般安裝在Windows下的軟體中一樣的卸載程序。
如果用戶直接把他的安裝目錄刪除,系統是拒絕的。
有些朋友可能使用phpnow久了,覺得它有龐大,於是乎卸載phpnow,這里分享一下phpnow卸載方法:
先看看官方的使用說明:
如果裝有同類軟體,請先停止或卸載,否則會占埠!請關閉迅雷,或修改迅雷的 BT 埠!
解壓:解壓到任意目錄;(不能含有中文!例如 "桌面")
安裝:運行 Setup.cmd 根據向導進行初始化;
使用:.\htdocs 為網站主目錄。執行 PnCp.cmd 進行設置或管理。
注意:執行 Stop.cmd 即已經卸載。請執行 Stop.cmd 後再刪除文件。
官方給出phpnow卸載方法就是執行Stop.cmd,然後刪除安裝目錄所有文件。當然,你的網站數據備份,要先復制到其他盤里。
也有網友說,進入 PnCmds 目錄下,執行 「絕對強制卸載.cmd」 即可卸載,顯然此方法執行後,也要手動刪除phpnow安裝目錄文件。
下面是其它補充:
在之前的《如何在Windows平台下搭建PHP環境(圖解版)》一文中已經對如何安裝PHPnow有了詳細的闡述。
本文是接該文的內容,來介紹如何刪除這個軟體。用戶在文件管理器中如果直接刪除安裝的文件夾。
軟體計算機系統就會出現上面的警告信息。
這是由於PHPnow的服務沒有被停止,所以計算機拒絕刪除這個文件夾。
用戶可以找到這個文件夾後打開。在前文中,筆者是把這個軟體安裝在「E:\webtestshopex」目錄下的。
我們可以看到在該目錄下面有個「PnCp.cmd」文件。請雙擊運行這個文件。
此時計算機會彈出一個DOS對話框,這個就是PHPnow的控制面板對話框。
此時系統提示你可以對這個軟體進行多種操作。
由於我們需要刪除這個軟體,此時用戶可以直接在這個對話框中輸入「33」後按回車鍵繼續。
有關「33」這個數字的含義,控制面板上已經有了解釋。
很快系統會顯示上面的信息,此時軟體已經終止了很多服務和進程。系統提示你按任意鍵繼續。
之後計算機就會關閉這個DOS對話框。此時用戶就可以刪除安裝目錄了。
7. PHP unlink與rmdir刪除目錄及目錄下所有文件實例代碼
在php中刪除文件與目錄其實很簡單只要兩個函數一個是unlink一個rmdir函數,如果要實現刪除目錄及目錄下的文件我們需要利用遞歸來操作.
函數代碼:僅刪除指定目錄下的文件,不刪除目錄文件夾,代碼如下:
class
shanchu
{
//循環目錄下的所有文件
function
delFileUnderDir(
$dirName=」../Smarty/templates/templates_c」
)
{
if
(
$handle
=
opendir(
「$dirName」
)
)
{
while
(
false
!==
(
$item
=
readdir(
$handle
)
)
)
{
if
(
$item
!=
「.」
&&
$item
!=
「..」
)
{
if
(
is_dir(
「$dirName/$item」
)
)
{
delFileUnderDir(
「$dirName/$item」
);
}
else
{//開源代碼phpfensi.com
if(
unlink(
「$dirName/$item」
)
)echo
「成功刪除文件:
$dirName/$item<br
/>n」;
}
}
}
closedir(
$handle
);
}
}
}
假設需要刪除一個名叫」upload」目錄下的所有文件,但無需刪除目錄文件夾,你可以通過以下代碼完成:
<?php
delFileUnderDir(
『upload');?>
php刪除所有目錄,代碼如下:
function
deltree($pathdir)
{
echo
$pathdir;//調試時用的
if(is_empty_dir($pathdir))//如果是空的
{
rmdir($pathdir);//直接刪除
}
else
{//否則讀這個目錄,除了.和..外
$d=dir($pathdir);
while($a=$d->read())
{
if(is_file($pathdir.'/'.$a)
&&
($a!='.')
&&
($a!='..')){unlink($pathdir.'/'.$a);}
//如果是文件就直接刪除
if(is_dir($pathdir.'/'.$a)
&&
($a!='.')
&&
($a!='..'))
{//如果是目錄
if(!is_empty_dir($pathdir.'/'.$a))//是否為空
{//如果不是,調用自身,不過是原來的路徑+他下級的目錄名
deltree($pathdir.'/'.$a);
}
if(is_empty_dir($pathdir.'/'.$a))
{//如果是空就直接刪除
rmdir($pathdir.'/'.$a);
}
}
}
$d->close();
echo
"必須先刪除目錄下的所有文件";//我調試時用的
}
}
function
is_empty_dir($pathdir)
{
//判斷目錄是否為空
$d=opendir($pathdir);
$i=0;
while($a=readdir($d))
{
$i++;
}
closedir($d);
if($i>2){return
false;}
else
return
true;
}
PHP刪除目錄及目錄下所有文件,代碼如下:
<?php
//循環刪除目錄和文件函數
function
delDirAndFile(
$dirName
)
{
if
(
$handle
=
opendir(
「$dirName」
)
)
{
while
(
false
!==
(
$item
=
readdir(
$handle
)
)
)
{
if
(
$item
!=
「.」
&&
$item
!=
「..」
)
{
if
(
is_dir(
「$dirName/$item」
)
)
{
delDirAndFile(
「$dirName/$item」
);
}
else
{
if(
unlink(
「$dirName/$item」
)
)echo
「成功刪除文件:
$dirName/$item<br
/>n」;
}
}
}
closedir(
$handle
);
if(
rmdir(
$dirName
)
)echo
「成功刪除目錄:
$dirName<br
/>n」;
}
}
//假設需要刪除一個名叫」upload」的同級目錄即此目錄下的所有文件,你可以通過以下代碼完成:
delDirAndFile(
『upload');
?>
總結
以上所述是小編給大家介紹的PHP
unlink與rmdir刪除目錄及目錄下所有文件實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
8. php空間中有文件和文件夾刪不掉怎麼辦
使用你服務商給你的用戶名密碼
使用ssh
登陸(例如使用putty)
使用命令刪除
不要的文件夾以及文件(rm
-rf
文件名或文件夾名)
如果不能刪除查看
文件的所有者(ls
-lat)
如果文件的主組是http你可以使用PHP程序刪除文件
如果不是
HTTP
也
不是你的用戶名
那麼你需要聯系服務商
請求刪除
9. PHP刪除指定目錄下的所有文件(保留目錄)
<?php
$dir='cache/templates';//要刪除的目錄
$Dir=opendir($dir)ordie('打開目錄失敗');//打開目錄
while($file=readdir($Dir)!==flse){//循環讀取目錄中
if($file!='.'&&$file!='..'){
unlink($dir.'/'.$file);//刪除文件
}
}