php查找指定目录指定大小的文件程序

我们先来看遍历目录

 代码如下 复制代码

function tree($directory)
{
 $mydir = dir($directory);
 echo "<ul>n";
 while($file = $mydir->read())
 {
  if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!=".."))
  {
   echo "<li><font color="#ff00cc"><b>$file</b></font></li>n";
   tree("$directory/$file");
  }
  else
  echo "<li>$file</li>n";
 }
 echo "</ul>n";
 $mydir->close();
}
//开始运行

echo "<h2>目录为粉红色</h2><br>n";
tree("./nowamagic");

这样只是把所有目录下的文件显示了,但我们要判断大小需加上round(filesize($cpath)/1024,1)函数了,这样我们获取大小之后就可以显示文件大小了。

 代码如下 复制代码

<?php
header("Content-Type:text/html;charset=gbk");
set_time_limit(0);
$dirpath=dirname(__FILE__);
//bytes
$limitByte=1024*110;
//这里改成你合适的查找文件最低大小,单位为字节。1024*100表示 1024*100字节,即100KB
$arrRes=$arrTmp=array();
showMaxFile($dirpath,$limitByte);
function showMaxFile($path,$limitByte){
global $arrRes;
$h=opendir($path);
if($h){
while (false !== ($file = readdir($h))) {
if($file!='.' && $file!='..'){
$cpath=$path.'/'.$file;
if(is_dir($cpath)){
showMaxFile($cpath,$limitByte);
}else{
if(filesize($cpath) > $limitByte){
$arrRes[]=array($cpath,round(filesize($cpath)/1024,1));
//echo "<p>{$cpath}<br />".(filesize($cpath) / 1024)."KB</p>";
}
}
}
}
 
}
closedir($h);
}
foreach($arrRes as $k=>$v){
$arrTmp[$k]=$v[1];
}
arsort($arrTmp);
foreach($arrTmp as $k=>$v){
echo "<p>".str_replace($dirpath,'',$arrRes[$k][0])."<br />".$arrRes[$k][1]."</p>";
}
?>

最后给大家附一个字节计算函数,这个可以转换

 

 代码如下 复制代码
//字节数转换成带单位的
/* 原理是利用对数求出欲转换的字节数是1024的几次方。
 * 其实就是利用对数的特性确定单位。
*/
function size2mb($size,$digits=2){ //digits,要保留几位小数
  $unit= array('','K','M','G','T','P');//单位数组,是必须1024进制依次的哦。
  $base= 1024;//对数的基数
  $i   = floor(log($size,$base));//字节数对1024取对数,值向下取整。
  return round($size/pow($base,$i),$digits).' '.$unit[$i] . 'B';
}
时间: 2024-09-20 07:56:57

php查找指定目录指定大小的文件程序的相关文章

PHP删除指定目录下的所有文件

/**  * 删除指定目录下的所有文件  *  * @param String $dir  要进行操作的路径  * 适合范围,只有用于文件夹内不存在子文件夹的情况下  * 来源  DZ  * 小佳(www.phpcina.cn)  整理 于 2006-06-26   */ function dir_clear($dir) {     $directory = dir($dir);                //创建一个dir类(PHP手册上这么说的),用来读取目录中的每一个文件     wh

java 获取指定目录下的所有文件

Java ,如何获取指定目录下的所有文件呢? 看代码: Java代码   /***       * 获取指定目录下的所有的文件(不包括文件夹),采用了递归       *        * @param obj       * @return       */       public static ArrayList<File> getListFiles(Object obj) {           File directory = null;           if (obj inst

linux shell 遍历指定目录下的所有文件夹

在linux 中,如何遍历指定目录下的所有文件夹呢? 要求能搜索结果中包含隐藏文件夹 脚本名:ergodic_folder.sh 脚本内容: Shell代码   #!/bin/sh   list_alldir(){       for file2 in `ls -a $1`       do           if [ x"$file2" != x"." -a x"$file2" != x".." ];then       

目录名称-递归遍历指定目录下的所有文件,依次按目录的名称与文件的名称排序

问题描述 递归遍历指定目录下的所有文件,依次按目录的名称与文件的名称排序 递归遍历指定目录下的所有文件,按依次按目录的名称与文件排序, 首先同一级目录的按目录名称排序,然后按文件的名称排序. 思路一:递归获取到所有文件后,根据件的全路径作在比较器中比较排序(file0.getAbsolutePath().compareTo(file1.getAbsolutePath())),这样可能不会很准.. 求大神支招啊! 想要的排序结果如下: d:/update/spc333/1/aa.txt d:/up

java删除指定目录下所有空文件夹的方法_java

本文实例讲述了java删除指定目录下所有空文件夹的方法.分享给大家供大家参考,具体如下: package com.func; import java.io.File; import java.util.ArrayList; import java.util.List; /** * 删除指定目录下的所有空文件夹 * * @author zdw * */ public class FileUtils { List<File> list = new ArrayList<File>();

PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)_php实例

如果做一个在线的文件管理系统的话,那么首先必须知道怎么读取目录和文件,其实这个功能几行代码就可以实现了. 输出效果: 实现代码: 复制代码 代码如下: <?php $dir = "D:/";  //要获取的目录 echo "********** 获取目录下所有文件和文件夹 ***********<hr/>"; //先判断指定的路径是不是一个文件夹 if (is_dir($dir)){  if ($dh = opendir($dir)){   whi

php删除指定目录下的相关文件实例

  代码如下   <?php  //删除指定文件夹下的非法文件  function my_del($dir)  {     if(is_dir($dir)){         //打开指定文件夹         if($handle = opendir($dir))         {             while(false !== ($file = readdir($handle)))             {                 if($file !== '.' &

把内容写入指定目录指定文件的java文件工具类,支持日期格式目录名的生成

package com.yanek.test; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.text.SimpleDat

列出指定目录下的所有文件和目录

<%@ LANGUAGE = VBScript %><%Server.ScriptTimeout=5000%><html> <head><style TYPE="text/css"> /* Outline Style Sheet */ UL UL {display: none; margin-left: 20pt} </style><script LANGUAGE="JavaScript"