㈠ 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程序設計有所幫助。
㈡ 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所在路徑的二種方法
㈢ 如何刪除文件夾下的文件 php
unlink($filename);//必選參數$filename(需要刪除的文件名)
$filename='./test.txt';
if(unlink($filename)){
echo'File:'.$filename.'DeleteSuccess';
}else{
echo'File:'.$filename.'DeleteFail';
}
//該函數返回布爾值true/false
㈣ php刪除文件夾及其文件夾下所有文件
有時候我們需要用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);
?>
㈤ 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;
}
}
㈥ PHP 刪除目錄下的文件
PHP刪除指定目錄下的文件示例:
<?php
//定義刪除文件函數
functiondeleteFile($dirName){
//判斷是否為有效句柄
if($handle=opendir($dirName)){
//循環打開的句柄條目(打開成功,則返迴文件名;打開失敗,則返回false)
while(false!==($item=readdir($handle))){
if($item!="."&&$item!=".."){
//判斷是否為目錄
if(is_dir($dirName."/".$item)){
//遞歸刪除
deleteFile($dirName."/".$item);
}else{
if(unlink($dirName."/".$item)){
echo"成功刪除{$dirName}文件夾下的{$item}文件<br/>";
}
}
}
}
//關閉打開的句柄
closedir($handle);
}
}
//測試【testFile目錄下有NewFile.html】
deleteFile("testFile");
//成功刪除testFile文件夾下的NewFile.html文件
?>
㈦ php怎樣刪除目錄及其目錄下的所有文件
對於一個不是空的目錄丹但要刪除它怎麼辦?思路是先必須將該目錄下的子文件都刪除,讓它變成一個空目錄,然後再用rmdir()函數刪除即可。而該目錄下的子目錄如果不是空也要用這樣的方法來刪除才行。 php刪除目錄代碼示例精簡、穩定、調用方便,支持多級目錄刪除,代碼如下:<?php//刪除目錄函數 function del_dir($DelPath){ $wm_chief = new del_directory(); $wm_chief_ok = $wm_chief -> wm_chief_delpath($DelPath); return $wm_chief_ok;}//刪除目錄class del_directory{ function wm_chief_delpath($del_path){ if(!file_exists($del_path)){ //目標目錄不存在則建立 echo "Directory not found."; return false;}$hand = @opendir($del_path);$i = 0;while($file = @readdir($hand)){$i++;if($file!="." && $file!=".."){//目錄 if(is_dir($del_path."/".$file)){ $del_s_path = $del_path."/".$file; $this -> wm_chief_delpath($del_s_path);}else{$del_file = $del_path."/".$file; $this -> wm_chief_file($del_file);}}}@closedir($hand); >
㈧ PHP刪除指定目錄下的所有文件(保留目錄)
<?php
$dir='cache/templates';//要刪除的目錄
$Dir=opendir($dir)ordie('打開目錄失敗');//打開目錄
while($file=readdir($Dir)!==flse){//循環讀取目錄中
if($file!='.'&&$file!='..'){
unlink($dir.'/'.$file);//刪除文件
}
}
㈨ 怎麼實現php代碼刪除一個文件夾裡面的全部文件
/*
++
函數名:removeDir()
++
功
能:刪除目錄和其下所有自目錄和文件
++
使
用:removeDir($dirName)
++
參
數:$dirName
要刪除的目錄名
++
lmhllr
2006-04-25
lmhllr#163.com
*/
function
removeDir(
$dirName
)
{
if
(
$handle
=
opendir(
"$dirName"
)
)
{
while
(
false
!==
(
$item
=
readdir(
$handle
)
)
)
{
if
(
$item
!=
"."
&&
$item
!=
".."
)
{
if
(
is_dir(
"$dirName/$item"
)
)
{
removeDir(
"$dirName/$item"
);
}
else
{
if(
unlink(
"$dirName/$item"
)
)echo
"成功刪除文件:
$dirName/$item<br
/>\n";
}
}
}
closedir(
$handle
);
if(
rmdir(
$dirName
)
)echo
"成功刪除目錄:
$dirName<br
/>\n";
}
}