㈠ php刪除指定目錄下的所有文件(保留目錄)
<?php
$dir='cache/templates';//要刪除的目錄
$Dir=opendir($dir)ordie('打開目錄失敗');//打開目錄
while($file=readdir($Dir)!==flse){//循環讀取目錄中
if($file!='.'&&$file!='..'){
unlink($dir.'/'.$file);//刪除文件
}
}
㈡ php怎麼刪除文件夾和文件夾下的所有文件
正常的思路來說,先循環刪除文件夾下的所有文件,當沒有文件時再刪除文件夾,如果你要刪除文件夾和所有文件直接本地刪除就好了,但是一般沒有這種操作。刪除文件可以用unlink($filepath)函數,$filepath是文件路徑,然後還有一個封裝函數rm_empty_dir($path)刪除所有空目錄:
/** 刪除所有空目錄
* @param String $path 目錄路徑
*/
function rm_empty_dir($path){
if(is_dir($path) && ($handle = opendir($path))!==false){
while(($file=readdir($handle))!==false){// 遍歷文件夾
if($file!='.' && $file!='..'){
$curfile = $path.'/'.$file;// 當前目錄
if(is_dir($curfile)){// 目錄
rm_empty_dir($curfile);// 如果是目錄則繼續遍歷
if(count(scandir($curfile))==2){//目錄為空,=2是因為.和..存在
rmdir($curfile);// 刪除空目錄
}
}
}
}
closedir($handle);
}
}
具體的還要你自己稍加修改,希望可以幫到你。
㈢ 求一段php代碼,刪除文件夾所有內容
function del_dir($dir){ //刪除目錄
if($dir=='' || !count($dir)){
return;
}
if(is_array($dir)){
foreach($dir as $d){
@chmod($d, 0777);
del_dir($d);
}
}else{
if(!($mydir=@dir($dir))){
return;
}
while($file=$mydir->read()){
if(is_dir("$dir$file") && $file!='.' && $file!='..'){
@chmod("$dir$file", 0777);
del_dir("$dir$file");
}elseif(is_file("$dir/$file")){
$file_time=@stat($file); //讀取文件的最後更新時間
if(time()-$file_time>3600*24*14){//只刪除14天以前的文件
@chmod("$dir/$file", 0777);
@unlink("$dir/$file");
}
}
}
$mydir->close();
@chmod($dir, 0777);
@rmdir($dir);
}
}
//test 1:
$dir=$_SERVER['DOCUMENT_ROOT']."/cache/";
del_dir($dir);
$dir=$_SERVER['DOCUMENT_ROOT']."/cache22/";
del_dir($dir);
//test 2:
$dir[0]=$_SERVER['DOCUMENT_ROOT']."/cache/";
$dir[1]=$_SERVER['DOCUMENT_ROOT']."/cache22/";
del_dir($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 怎樣刪除共享文件
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;
}
}
$dir="../Html/Labs";
if (is_dir($dir)){
deldir($dir);//若文件已存在,則刪除
}
㈥ 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刪除一個路徑下的所有文件夾和文件的方法
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()
刪除文件。
語法:
int
unlink(string
filename);
返回值:
整數
函數種類:
文件存取
內容說明
本函數刪除文件
filename,用法像
unix
中
c
語言呼叫的同名函數
unlink()。當發生錯誤則返回
0
或
false。
參考
rmdir()
刪除的前提是,你的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;
}
}
----------------------------------------
php刪除指定文件和文件夾
?php
//刪除指定目錄(文件夾)中的所有文件函數
function
delfile($dir)
{
if
(is_dir($dir))
{
$dh=opendir($dir);//打開目錄
//列出目錄中的所有文件並去掉
.
和
..
while
(false
!==
(
$file
=
readdir
($dh)))
{
if($file!="."
&&
$file!="..")
{
$fullpath=$dir."/".$file;
if(!is_dir($fullpath))
{
unlink($fullpath);//刪除目錄中的所有文件
}
else
{
delfile($fullpath);
}
}
closedir($dh);
}
}
//刪除指定的目錄
function
deldir(dir){
delfile(dir);
if
(is_dir($dir))
{
rmdir($dir);//目錄必須是空的
}
}
?
現在,如果想刪除d盤中的「我的相片」文件夾中的所有文件,就調用自定義函數delfile。
?php
$dir="d:/我的相片";
delfile($dir);
?
如果想刪除d盤中的「我的相片」文件夾,調用自定義函數deldir。
?php
$dir="d:/我的相片";
deldir($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); ////刪除文件
}
}
echo "目錄 handle: $dh\n";
}
closedir($dh);
///////////////目前目錄的所有文件目前目錄的所有文件 結束///////////////////////////////
if(rmdir($dir)) {
return true;
} else {
return false;
}
}
資料庫中的數據:你直接執行一個delect...的sql語句就行了
㈩ php目錄操作實例代碼
這篇文章主要介紹了php目錄操作實例代碼,需要的朋友可以參考下
代碼如下:
<?php
/**
*
listdir
*/
header("content-type:text/html;charset=utf-8");
$dirname
=
"./final/factapplication";
function
listdir($dirname)
{
$ds
=
opendir($dirname);
while
(false
!==
($file
=
readdir($ds)))
{
$path
=
$dirname.'/'.$file;
if
($file
!=
'.'
&&
$file
!=
'..')
{
if
(is_dir($path))
{
listdir($path);
}
else
{
echo
$file."<br>";
}
}
}
closedir($ds);
}
listdir($dirname);
核心:遞歸的經典應用,以及文件和目錄的基本操作。
代碼如下:
<?php
/**
*
dir
*/
$srcdir
=
"../fileupload";
$dstdir
=
"b";
function
dir($srcdir,
$dstdir)
{
mkdir($dstdir);
$ds
=
opendir($srcdir);
while
(false
!==
($file
=
readdir($ds)))
{
$path
=
$srcdir."/".$file;
$dstpath
=
$dstdir."/".$file;
if
($file
!=
"."
&&
$file
!=
"..")
{
if
(is_dir($path))
{
dir($path,
$dstpath);
}
else
{
($path,
$dstpath);
}
}
}
closedir($ds);
}
dir($srcdir,
$dstdir);
核心:函數。
代碼如下:
<?php
/**
*
deldir
*/
$dirname
=
'a';
function
deldir($dirname)
{
$ds
=
opendir($dirname);
while
(false
!==
($file
=
readdir($ds)))
{
$path
=
$dirname.'/'.$file;
if($file
!=
'.'
&&
$file
!=
'..')
{
if
(is_dir($path))
{
deldir($path);
}
else
{
unlink($path);
}
}
}
closedir($ds);
return
rmdir($dirname);
}
deldir($dirname);
核心:注意unlink刪除的是帶path的file。
代碼如下:
<?php
/**
*
dirsize
*/
$dirname
=
"a";
function
dirsize($dirname)
{
static
$tot;
$ds
=
opendir($dirname);
while
(false
!==
($file
=
readdir($ds)))
{
$path
=
$dirname.'/'.$file;
if
($file
!=
'.'
&&
$file
!=
'..')
{
if(is_dir($path))
{
dirsize($path);
}
else
{
$tot
=
$tot
+
filesize($path);
}
}
}
return
$tot;
closedir($ds);
}
echo
dirsize($dirname);
核心:通過判斷$tot在哪裡返回,理解遞歸函數。