- 浏览: 13730908 次
- 性别:
- 来自: 洛杉矶
文章分类
- 全部博客 (1994)
- Php / Pear / Mysql / Node.js (378)
- Javascript /Jquery / Bootstrap / Web (435)
- Phone / IOS / Objective-C / Swift (137)
- Ubuntu / Mac / Github / Aptana / Nginx / Shell / Linux (335)
- Perl / Koha / Ruby / Markdown (8)
- Java / Jsp (12)
- Python 2 / Wxpython (25)
- Codeigniter / CakePHP (32)
- Div / Css / XML / HTML5 (179)
- WP / Joomla! / Magento / Shopify / Drupal / Moodle / Zimbra (275)
- Apache / VPN / Software (31)
- AS3.0/2.0 / Flex / Flash (45)
- Smarty (6)
- SEO (24)
- Google / Facebook / Pinterest / SNS (80)
- Tools (22)
最新评论
-
1455975567:
xuezhongyu01 写道wocan23 写道我想问下那个 ...
Mysql: LBS实现查找附近的人 (两经纬度之间的距离) -
xuezhongyu01:
wocan23 写道我想问下那个111.1是怎么得来的我也看不 ...
Mysql: LBS实现查找附近的人 (两经纬度之间的距离) -
18335864773:
试试 pageoffice 在线打开 PDF 文件吧. pag ...
jquery在线预览PDF文件,打开PDF文件 -
青春依旧:
opacity: 0.5; 个人喜欢这种方式!关于其他css特 ...
css透明度的设置 (兼容所有浏览器) -
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
搞定网页打印自动分页问题
1. 遍历并打印指定目录下所有文件
<?php //功能:遍历并打印指定目录下所有文件 function scan_dir($dir_name,$dir_flag=1) { static $FILE_COUNT=1; //记录文件数目 初值为1 目录名称不记 $FILE_COUNT--; //每调用一次scan_dir()函数自减1 @$dir_handle=opendir($dir_name); //抑制错误信息显示 便于自定义错误显示 if(!$dir_handle) die("目录打开错误!"); while(false!==($filename=readdir($dir_handle))) //文件名为‘0’时,readdir返回 FALSE,判断返回值是否不全等 { $flag=$dir_flag; //古怪的 is_dir($filename) ! $filename这个路径必须能够寻到!当$filename不存在或者不是目录时返回false if($filename!='.'&&$filename!='..') { $FILE_COUNT++; //不记录当前路径和上一级路径 while($flag>0&&--$flag) //负数仍为真 echo ' '; if(is_dir($dir_name.$filename)) //判断 是否为一个目录 { echo '<strong>'."<a href=".$dir_name.$filename.">".$filename."</a></strong><br>"; scan_dir($dir_name.$filename.'/',$dir_flag+1); //$dir_flag标志目录树层次 } else { echo "<a href=".$dir_name.$filename.">".$filename."</a><br>"; } } } closedir($dir_handle); //关闭目录句柄 echo "文件总数:".$FILE_COUNT.'<br>'; } scan_dir('D:/AppServ/www/mytest/shopping/payment/');
/*总结:
1,关于路径 目录的路径末尾都加上 '/' 以便后面与文件名字符串连接 形成新的 路径字符串
2,目录遍历 这是一个关于树的问题
3,is_dir()函数第一个参数必须是一个能够识别的PATH否则会因目录不存在而返回一个false容易误解
得出 “这不是一个目录”的错误结论 形成逻辑上的错误
4,注意当前路径'.'和上一级路径'..'的剔除 否则 在递归环节造成死循环 直至内存耗尽出错。
5,dir_flag这个变量是记录树的深度 以便于目录分级分层输出 */
/*不足
1,输出排版不完善
2,逻辑与表示层混乱 不分明 大忌!
3,面向过程
*/
单目录
// 列出目录内容 $dir 不要加 '/' function list_files($dir) { if(is_dir($dir)) { if($handle = opendir($dir)) { while(($file = readdir($handle)) !== false) { if($file != "." && $file != ".." && $file != "Thumbs.db") { echo '<a href="'.$dir.'/'.$file.'">'.$file.'</a><br>'."\n"; } } closedir($handle); } } } list_files('D:/AppServ/www/mytest/shopping/payment');
2. PHP 获得文件夹大小 计算文件
<?php function getDirSize($dir) { $handle = opendir($dir); while (false!==($FolderOrFile = readdir($handle))) { if($FolderOrFile != "." && $FolderOrFile != "..") { if(is_dir("$dir/$FolderOrFile")) { $sizeResult += getDirSize("$dir/$FolderOrFile"); } else { $sizeResult += filesize("$dir/$FolderOrFile"); } } } closedir($handle); return $sizeResult; } //单位自动转换函数 function getRealSize($size) { $kb = 1024; //Kilobyte $mb = 1024 * $kb; //Megabyte $gb = 1024 * $mb; //Gigabyte $tb = 1024 * $gb; //Terabyte if($size < $kb) { return $size." B"; } else if($size < $mb) { return round($size/$kb,2)." KB"; } else if($size < $gb) { return round($size/$mb,2)." MB"; } else if($size < $tb) { return round($size/$gb,2)." GB"; } else { return round($size/$tb,2)." TB"; } } echo getRealSize(getDirSize('D:/AppServ/www/mytest/')); // get byte function dirsize($dir) { $handle=opendir($dir); $size = 0; while ( $file=readdir($handle) ) { if ( ( $file == "." ) || ( $file == ".." ) ) continue; if ( is_dir("$dir/$file") ) $size += dirsize("$dir/$file"); else $size += filesize("$dir/$file"); } closedir($handle); return $size; } $big=dirsize(dirname($_SERVER['SCRIPT_FILENAME'])."/"); echo '('.$big.' bytes)';
计算文件大小用 filesize()
http://www.w3school.com.cn/php/func_filesystem_filesize.asp
遍历文件夹下所有文件,编辑删除
评论
2 楼
天梯梦
2011-12-01
hongxingxu101 写道
找这个文件夹了,我想任意下载一个文件,怎么实现???
这个也不难,你可以把文件夹打包之后下载,下载完之后删除就可以了。
http://justcoding.iteye.com/blog/660812
1 楼
hongxingxu101
2011-12-01
找这个文件夹了,我想任意下载一个文件,怎么实现???
发表评论
-
PHP: 在类(class)中加载动态函数, 变量函数或半变量函数 variable function/method
2016-09-03 07:54 7171最终实例在下方 以前 ... -
MySQL入门 (七) : 储存引擎与资料型态
2016-09-03 07:49 45531 表格与储存引擎 表格(table)是资料库中用来储存 ... -
MySQL入门 (六) : 字元集与资料库
2016-09-03 07:47 45661 Character Set与Collation 任何 ... -
MySQL入门 (五) : CRUD 与资料维护
2016-09-03 07:46 54811 取得表格资讯 1.1 DESCRIBE指令 「 ... -
MySQL入门 (四) : JOIN 与UNION 查询
2016-09-03 07:42 45001 使用多个表格 在「world」资料库的「countr ... -
PHP: 关键字global 和 超全局变量$GLOBALS的用法、解释、区别
2016-08-31 12:07 5039$GLOBALS 是一个关联数组,每一个变量为一个 ... -
MySQL入门 (三) : 运算式与函式
2016-08-31 12:01 4383运算式(expressions)已经 ... -
MySQL入门 (二) : SELECT 基础查询
2016-08-31 11:56 46811 查询资料前的基本概念 1.1 表格、纪录 ... -
MySQL入门 (一) : 资料库概论与MySQL的安装
2016-08-31 11:51 44571. 储存与管理资料 储存与管理资料一直是资讯应用上最基本 ... -
MySQL入门 (九) : 子查询 Subquery
2016-08-30 02:26 44471 一个叙述中的查询叙述 子查询(subquery)是一 ... -
PHP: 用readonly取代disabled来获取input值 submit a disabled input in a form could not ge
2016-08-30 02:21 2706The form is like below; <f ... -
PHP7革新与性能优化
2016-08-30 02:20 2146有幸参与2015年的PHP技 ... -
Mysql: 图解 inner join、left join、right join、full outer join、union、union all的区别
2016-08-18 06:03 3122对于SQL的Join,在学习起来可能是比较乱的。我们知道, ... -
Comet 反Ajax: 基于jQuery与PHP实现Ajax长轮询(LongPoll)
2016-08-18 06:00 1377传统的AJAX轮询方式,客服端以用户定义的时间间隔去服务器上 ... -
PHP:ServerPush (Comet推送) 技术的探讨
2016-08-18 05:58 1039PHP中Push(推送)技术的探讨 [http://vi ... -
PHP: 手把手编写自己的 MVC 框架实例教程
2016-08-16 05:33 18131 什么是MVC MVC模式(Model-View-Con ... -
PHP5: mysqli 插入, 查询, 更新和删除 Insert Update Delete Using mysqli (CRUD)
2016-07-29 12:55 1747原文: PHP5: mysqli 插入, 查询, 更新 ... -
MongoDB 教程索引 (附有视频)
2016-07-27 10:54 736MongoDB 教程索引 MongoDB 教程一: ... -
Node.js 模块之Nimble流程控制
2016-07-18 12:59 1080NodeJS异步的特性有时候 ... -
Node.js web应用模块之Supervisor
2016-07-18 12:56 2327在开发或调试Node.js应 ...
相关推荐
在PHP中,对文件夹进行操作是常见的任务,如遍历目录、计算文件夹大小等。下面我们将详细探讨这些知识点。 首先,我们来看如何遍历并打印指定目录下的所有文件。`scan_dir` 函数是一个递归函数,用于遍历目录。函数...
本文将深入探讨如何使用PHP来计算一个目录或文件夹的总大小,以及如何安全地删除文件夹。这些功能在处理大量数据存储、清理临时文件或者优化服务器空间时尤其有用。 首先,我们来看如何计算一个目录的总大小。在PHP...
下面是一个简单的递归遍历文件夹的例子: ```php function traverseDirectory($dir) { $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir)); foreach ($iterator as $file) { // ...
在实际应用中,我们可能会需要对遍历过程中获取的文件或目录进行其他操作,比如计算文件大小、获取文件的元数据或者根据文件类型过滤。可以在这个函数的基础上扩展,添加更多功能。同时,也可以考虑错误处理和性能...
PHP递归计算文件夹大小的核心思想是:遍历指定目录下的所有文件和子目录,如果是目录,则递归调用当前函数计算该目录的大小;如果是文件,则直接读取文件大小并累加。 下面是一个递归函数`dir_size`的实现代码,...
这个"PHP计算指定文件夹的信息的函数类"提供了一种高效且结构化的解决方案,用于获取文件夹及其子文件夹的详细信息,包括文件数量、总大小以及目录结构的格式化输出。下面我们将详细探讨这个函数类的实现原理和应用...
标题所提及的“PHP计算指定文件夹的信息的函数类”就是这样一个工具,它允许开发者方便地获取并展示指定目录的相关信息。 首先,我们来理解一下这个函数类的基本结构。一个PHP类通常包含一系列的方法(functions)...
PHP语言拥有丰富的文件操作函数,但对于文件夹的操作,如复制、删除和查看大小等,标准函数库中并没有直接提供相应的函数。因此,我们需要利用递归算法来实现这些操作。 首先,要了解在PHP中如何查看文件夹的大小。...
PHP函数库,PHP函数大全,PHP函数实例,PHP函数手册,PHP5函数库实例 PHP函数库,PHP函数大全,PHP函数实例,PHP函数手册,PHP5...遍历文件夹文件 采集网络数据 随机字符串 验证码 验证码类 验证输入的邮件地址是否合法
函数接收一个参数`$dir`,即需要计算大小的目录路径。函数的主体部分通过`opendir`打开一个目录句柄,然后使用`readdir`函数来读取目录中的每一个文件或子目录。对于每一个文件或子目录,如果它不是`.`(当前目录)...
2. **文件遍历**:调用`openFile`方法,递归地遍历文件夹中的所有文件和子文件夹。 - 对于每个文件,读取其内容并通过`addFile`方法进行压缩处理。 - 对于子文件夹,再次调用`openFile`进行递归处理。 3. **文件...
与计算文件夹大小类似,迭代复制文件夹也涉及初始化、循环、执行操作和更新状态四个步骤。初始化时,创建一个堆栈并加入源目录,接着在循环中弹出堆栈中的目录,创建目标目录,然后读取源目录中的文件和子目录。对于...
- 如果是目录,使用`is_dir()`检查,然后调用`dirSize()`计算大小,并输出相关信息。 - 如果是文件,使用`filesize()`获取大小,同样输出相关信息。 这里的输出信息包括文件名、创建时间、文件类型以及经过`toSize...
在PHP编程语言中,有时我们需要读取一个文件夹及其所有子文件夹下的所有文件,这在处理文件系统操作时非常常见。以下是一个简单的PHP函数示例,它将遍历指定目录及其子目录,并收集所有文件的名称。 首先,让我们...
在遍历的过程中,使用 getSize() 方法获取每个文件的大小,并将其累加到一个名为 $totalSize 的变量中,从而计算出所有文件的总大小。 上述示例代码演示了如何使用PHP的面向对象的方式来遍历目录,计算文件占用空间...
如果需要合并多张图片,可以遍历文件夹内的所有图片并进行上述操作。在提供的`pngs.php`或`png.php`文件中,可能会有类似以下的代码来处理一个包含多张PNG图片的`imgs`目录: ```php $images = glob('imgs/*.png'...
在实际使用时,你可以通过设置变量`$fpath`为需要清理的文件夹路径,如示例中的`D:/test`,然后调用`delFile()`函数执行清理操作。最后,`printf()`函数会计算节省的磁盘空间,并以MB为单位显示结果。 此外,代码中...