㈠ 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在哪里返回,理解递归函数。