php 文件夹删除、php清除缓存程序

代码如下:

<?php
header('content-type:text/html;charset=utf-8');
function delFile($fpath) {
$filesize = array();
$filepath = iconv('gb2312', 'utf-8', $fpath);
if (is_dir($fpath)) {
if ($dh = opendir($fpath)) {
while (($file = readdir($dh)) !== false) {
if($file != '.' && $file != '..') {
$filesize[] = delFile($fpath.'/'.$file);
}
}
closedir($dh);
}
/*
* 方便统计目录数
*/
$filesize['file'] = 0;
if(@rmdir($fpath) === true) {
echo "{$filepath}................删除成功<br>\n";
} else {
echo "{$filepath}................删除失败<br>\n";
}
} else {
if(is_file($fpath)) {
$filesize[] = $fsize = filesize($fpath);
if(@unlink($fpath) === true) {
echo "{$filepath}...{$fsize}K................删除成功<br>\n";
} else {
echo "{$filepath}...{$fsize}K................删除失败<br>\n";
}
}
}
return $filesize;
}
/*
* function getArrSum(array &$arr) 数组求和
* array &$arr 被处理数组
*/
function getArrSum(&$arr) {
if(is_array($arr)) {
foreach ($arr as &$value) {
$value = getArrSum($value);
}
return array_sum($arr);
} else {
return $arr;
}
}
$fpath = 'D:/test';
$filesize = delFile($fpath);
$size = getArrSum($filesize);
printf('为您节省:%.3fM 空间', $size/(1024*1024));
?>

只要在D盘下建一个 test 文件夹,然后再里面随便拷入一点东西就可以测试了

(0)

相关推荐

  • PHP清除缓存的几种方法总结

    PHP清除缓存的几种方法总结 现在开发的项目是用tp3.1版本的,在开发过程中我们常常会遇到页面缓存的问题(特别是html的缓存):刷新后还是旧版的数,再刷新下还是旧版数据,慢慢的开始怀疑人生了,哈哈:所以在开发过程中我们又必要每次及时清除缓存. 清除缓存的方法大概有3种(都是实际经历总结): 第一:在项目的配置文件config.php里加入下面两行代码就能避免缓存问题 'TMPL_CACHE_ON' => false,//禁止模板编译缓存 'HTML_CACHE_ON' => false,/

  • ThinkPHP实现一键清除缓存方法

    很多的开源cms系统都有一键清除缓存的功能,缓存是为了减轻服务器的压力而产生的,但是同时有缓存的存在也可能使一些数据不能实时更新,对此,我们就来实现一个ThinkPHP的清理缓存的功能.代码如下: ThinkPHP后台执行的代码: //获取要清楚的目录和目录所在的绝对路径 public function cache(){ ////前台用ajax get方式进行提交的,这里是先判断一下 if($_POST['type']){ //得到传递过来的值 $type=$_POST['type']; //将

  • Java 删除文件及文件夹删除不了的解决

    目录 Java 删除文件及文件夹删除不了 问题所在 java文件删除不了的坑,特别是压缩文件 下面列举一些情况 Java 删除文件及文件夹删除不了 问题所在 今天在编写一个项目,流程是先创建一个临时文件夹存放生成的文件,再经过压缩导出,待导出成功后删除临时文件夹,但是怎么也删除不了,还以为是写的删除方法有问题,找来找去,试了很多方法也删除不了 本来以为是打包的流没关闭,但是发现流都是关闭的,后来发现,是在生成的方法里,直接new FileWriter出来的,没有关闭,在这里提醒一下,关于操作文件

  • php 文件夹删除、php清除缓存程序

    复制代码 代码如下: <?php header('content-type:text/html;charset=utf-8'); function delFile($fpath) { $filesize = array(); $filepath = iconv('gb2312', 'utf-8', $fpath); if (is_dir($fpath)) { if ($dh = opendir($fpath)) { while (($file = readdir($dh)) !== false)

  • PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法

    本文实例讲述了PHP基于迭代实现文件夹复制.删除.查看大小等操作的方法.分享给大家供大家参考,具体如下: 前面一篇 PHP递归实现文件夹的复制.删除.查看大小操作 分析了递归操作使用技巧,这里再来分析一下迭代的操作技巧. "既然递归能很好的解决,为什么还要用迭代呢"?主要的原因还是效率问题-- 递归的概念是函数调用自身,把一个复杂的问题分解成与其相似的多个子问题来解决,可以极大的减少代码量,使得程序看起来非常优雅. 由于系统要为每次函数调用分配运行空间,并使用压栈予以记录.在函数调用结

  • Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小,文件属性,遍历目录)

    复制代码 代码如下: using System; using System.IO; using System.Text; using System.Data; using System.Web.UI; using System.Web.UI.WebControls; namespace ec { /// <summary> /// 文件操作类 /// </summary> public class FileObj : IDisposable { private bool _alre

  • PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)

    复制代码 代码如下: <? /** * 操纵文件类 * * 例子: * FileUtil::createDir('a/1/2/3'); 测试建立文件夹 建一个a/1/2/3文件夹 * FileUtil::createFile('b/1/2/3'); 测试建立文件 在b/1/2/文件夹下面建一个3文件 * FileUtil::createFile('b/1/2/3.exe'); 测试建立文件 在b/1/2/文件夹下面建一个3.exe文件 * FileUtil::copyDir('b','d/e')

  • PHP文件及文件夹操作之创建、删除、移动、复制

    创建FileUtil.php文件,内容及调用方式如下: <?php /** * 操纵文件类 * * 例子: * FileUtil::createDir('a/1/2/3'); 测试建立文件夹 建一个a/1/2/3文件夹 * FileUtil::createFile('b/1/2/3'); 测试建立文件 在b/1/2/文件夹下面建一个3文件 * FileUtil::createFile('b/1/2/3.exe'); 测试建立文件 在b/1/2/文件夹下面建一个3.exe文件 * FileUtil

  • .NET创建、删除、复制文件夹及其子文件的实例方法

    复制代码 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace WinFormsApp_OperateFileAndFolder { public class OperateFileFolder { /// <summary> /// 创建文件夹 /// </summary> public strin

  • 如何对一个文件夹进行创建和删除?

    如何对一个文件夹进行创建和删除?<% set fs=createobject("scripting.filesystemobject") %> <% MyFolder=server.mappath("/chunfeng/happy/") %> <% If NOT fs.folderexists(MyFolder) then fs.createfolder(MyFolder) End If %> <% If fs.folder

  • C#删除只读文件或文件夹(解决File.Delete无法删除文件)

    C#删除只读文件的方法: if (File.GetAttributes(FFName).ToString().IndexOf("ReadOnly") != -1) File.SetAttributes(FFName, FileAttributes.Normal); File.Delete(FFName);//不能删除只读文件 C#删除只读文件夹的方法: 只读文件夹删除需要先删除文件夹内的文件,然后在使用删除文件夹才能成功,否则将会报没有权限访问. 下面是遍历删除文件夹代码 /// &l

  • Linux系统删除文件夹和文件的命令

    linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可. 直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字 -r 就是向下递归,不管有多少级目录,一并删除 -f 就是直接强行删除,不作任何提示的意思 删除文件夹实例: rm -rf /var/log/httpd/access 将会删除/var/log/httpd/access目录以及其下所有文件.文件夹 删除文件使用实例: rm -f /var/log/htt

随机推荐