php刪除目錄所有文件
1. 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所在路徑的二種方法
2. 怎麼實現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";
}
}
3. 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;
}
}
deldir('e:/test/aaa'); // e:/test/aaa 是你要刪除的文件夾
?>
4. php中怎麼刪除指定目錄下的文件夾
示例代碼如下:
<?php
$dir='你要刪除的目錄路徑';//如下:
//$dir=$_SERVER['DOCUMENT_ROOT'].'/cache';
rmdirs($dir);
//php刪除指定目錄下的的文件-用PHP怎麼刪除某目錄下指定的一個文件?
functionrmdirs($dir){
$dir_arr=scandir($dir);
foreach($dir_arras$key=>$val){
if($val=='.'||$val=='..'){}
else{
if(is_dir($dir.'/'.$val))
{
if(@rmdir($dir.'/'.$val)=='true'){}
else
rmdirs($dir.'/'.$val);
}
else
unlink($dir.'/'.$val);
}
}
}
?>
5. 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>';
}
}
}
}
closedir( $handle );
if( rmdir( "$dirName/$item" ) ){
echo "成功刪除目錄:$dirName".'<br>';
}
}else{
echo "文件夾不存在!";
}
}
6. PHP獲取指定目錄下所有文件並可以選擇刪除
$reArr = scandir($path);
返回$path目錄下的所有的文件的數組,包括包括父級目錄(..)和自身(.)的引用。
可以將這兩個特殊的文件刪除,其實沒有必要:
unset($reArr[array_search(".",$reArr)]);
unset($reArr[array_search("..",$reArr)]);
然後判斷你需要刪除的文件是否在其中in_array()或者array_search()一樣
然後刪除文件。
表單我就不幫你寫了,html的東西好麻煩的說。
7. 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文件
?>
8. php 不刪除文件夾, 刪除文件夾下所有文件
送你個函數
function
delDir($path)
{
if
(is_dir($path))
{
if
($dh
=
opendir($path))
{
while
(($file
=
readdir($dh))
!==
false)
{
if($file!=".."&&$file!=".")
{
if(is_dir($path."/".$file))
{
if(!delDir($path."/".$file))
{
return
0;
}
}
else
{
if(!unlink($path."/".$file))
{
return
0;
}
}
}
}
closedir($dh);
}
return
1;//rmdir($path);
}
}
這樣就可以刪除文件夾裡面的文件以及子文件夾
9. PHP刪除指定目錄下的所有文件(保留目錄)
這里有個簡單的來方法:源
<?php
$files=glob('cache/templates/*');
for($filesas$file){
if(is_file($file)){
unlink($file);
}
}
在PHP中執行shell命令:
<?php
`rm-rfcache/templates`;//反引號,數字1左邊的鍵
exec('rm-rfcache/templates');//另一種方法
system('rm-rfcache/templates');//第三種方法
但不建議這樣刪除文件,比較危險。
10. PHP如何實現刪除指定文件夾下的所有文件和文件件
我這里有兩個函數或許對你有用。
/* 該函數用於刪除文件和文件夾 */
function dirDelete($dir) {
$dir = dirPath($dir);
if (!is_dir($dir)) {
return false;
}
$list = glob($dir . '*');
foreach ($list as $v) {
is_dir($v) ? dirDelete($v) : @ unlink($v);
}
return @ rmdir($dir);
}
/* 該函數用於將路徑標准化 */
function dirPath($path) {
$path = str_replace('\\', '/', $path);
if (substr($path, -1) != '/')
$path = $path . '/';
return $path;
}