//遍历目录及文件

 function myBianli($dirname){
//1.打开
$dir = opendir($dirname);
//2.读取
while($filename = readdir($dir)){
if($filename != '.' && $filename != '..'){
//拼接路径
$path = $dirname.'/'.$filename;
if(is_dir($path)){
echo '目录:<a href="?path='.$path.'">'.$path.'</a><hr/>';
}else{
echo '文件:'.$path.'<br/>';
}
}
}
//3.关闭
closedir($dir);
} //移动文件 <?php
//移动目录
//@param1:原路径
//@param2:目标路径
myReName('原路径','目标路径');
function myReName($dirsrc,$dirto){
//1.判断目标是否是目录
if(is_file($dirto)){
echo '目标不是目录不能创建';
return;
}
//2.判断目标目录是否存在 不存在则创建
if(!file_exists($dirto)){
mkdir($dirto);
echo '创建目录:'.$dirto.'成功<br/>';
}
//3.打开原目录
$dir = opendir($dirsrc);
//4.循环读取源目录
while($filename = readdir($dir)){
//过滤点和点点
if($filename != '.' && $filename != '..'){
//拼接源完整路径
$file1 = $dirsrc.'/'.$filename;
//拼接目标完整路径
$file2 = $dirto.'/'.$filename;
//判断源完整路径是否是目录
if(is_dir($file1)){
//调用函数
myReName($file1,$file2);
}else{
//是文件
rename($file1,$file2);
echo '移动文件:'.$file1.'成功<br/>';
}
}
}
//5.关闭源目录
closedir($dir);
//6.删除源目录
rmdir($dirsrc);
} //统计目录大小 <?php
$size = dirsize('./daye');
echo $size.'<hr/>';
$s = tosize($size);
echo $s.'<br/>';
function dirsize($dirname){
//统计目录大小
$total = 0;
//1.打开目录
$dir = opendir($dirname);
//2.循环读取
while($filename = readdir($dir)){
//2.1过滤掉点和点点
if($filename != '.' && $filename != '..'){
//2.2拼接完整路径
$path = $dirname.'/'.$filename;
//2.3是文件还是目录
if(is_dir($path)){
$total += dirsize($path);
}else{
$total += filesize($path);
}
}
}
//3.关闭目录
closedir($dir);
return $total;
} function tosize($size){
if($size > pow(1024,3)){
$dw = 'GB';
$size = round($size/pow(1024,3),2);
}elseif($size > pow(1024,2)){
$dw = 'MB';
$size = round($size / pow(1024,2),2);
}elseif($size > 1024){
$dw = 'KB';
$size = round($size / 2014,2);
}else{
$dw = 'byte';
}
return $size.$dw;
}
/*
1024byte = 1kb
1024kb = 1mb
1024mb = 1GB
*/ //统计数量 <?php
$dirnum = 0;
$filenum = 0;
total('目录路径',$dirnum,$filenum);
echo '目录数:'.$dirnum;
echo '<br/>文件数:'.$filenum;
//统计目录和文件个数
function total($dirname,&$dirnum,&$filenum){
//1.打开目录
$dir = opendir($dirname);
//2.循环读取目录
while($filename = readdir($dir)){
// 2.1过滤掉点和点点
if($filename != '.' && $filename != '..'){
// 2.2拼接完整路径
$path = $dirname.'/'.$filename;
// 2.3判断是否是目录
if(is_dir($path)){
//调用自己
total($path,$dirnum,$filenum);
$dirnum ++;
}else{
//不是目录 是文件
$filenum ++;
}
}
}
//3.关闭目录
closedir($dir);
}

php文件相关操作的更多相关文章

  1. Git基本命令 -- 基本工作流程 + 文件相关操作

    可以先找一个已经被git管理的项目, 我就使用这个项目吧: https://github.com/solenovex/ID3-Editor 基本工作流程 克隆以后呢, 进入该目录查看一下状态: 然后添 ...

  2. python文件相关操作

    Python文件相关操作 打开文件 打开文件,采用open方法,会将文件的句柄返回,如下: f = open('test_file.txt','r',encoding='utf-8') 在上面的代码中 ...

  3. VC++文件相关操作的函数封装实现

    在开发编译工具中,需要用到文件的相关操作,于是就封装了相关的函数实现: //判断文件是否存在 BOOL FileIsExist(CString strFileName) { CFileFind fin ...

  4. 【原创】Linux基础之gz文件相关操作

    gz文件不需要解压即可进行相关操作 $ zcat test.log.gz $ zmore test.log.gz $ zless test.log.gz $ zgrep '1.2.3.4' test. ...

  5. Nodejs文件相关操作

    欢迎关注我的博客我在马路边 适用人群 本文适用于刚接触Node的小白,毕竟我也是小白,大佬请绕行. Node文件操作 在实际开发中遇到很多有关文件及文件夹的操作,比如创建.删除文件及文件夹,文件拷贝. ...

  6. linux学习笔记一----------文件相关操作

    一.目录结构 二.文件管理操作命令(有关文件夹操作,使用Tab键自动补全文件名(如果多个默认第一个)) 1.ls 查看目录信息:ls -l 查看目录详细信息(等价于ll 某些系统不支持) 2.pwd ...

  7. UWP中的文件相关操作

    最近开始做UWP开发,图省事儿就把自己之前一个Winform项目的一部分代码拷贝到了新写的UWP项目中来.整出了一些幺蛾子,下面做一个记录. 首先提一个重点就是:UWP里关于文件的操作尽量用Stora ...

  8. UNIX高级环境编程(5)Files And Directories - 文件相关时间,目录文件相关操作

     1 File Times 每个文件会维护三个时间字段,每个字段代表的时间都不同.如下表所示: 字段说明: st_mtim(the modification time)记录了文件内容最后一次被修改的时 ...

  9. 关于php的ini文件相关操作函数浅析

    在小公司,特别是创业型公司,整个服务器的搭建一般也是我们 PHP 开发工程师的职责之一.其中,最主要的一项就是要配置好服务器的 php.ini 文件.一些参数会对服务器的性能产生深远的影响,而且也有些 ...

  10. c语言中文件相关操作

    一 .首先介绍一下数据文件的类型: 1.二进制文件(映像文件):在内存中以二进制形式存取. 2.文本文件(ascii文件):以ascii码形式存取的文件. 通俗的讲,在Mac下,你把一个文件丢进记事本 ...

随机推荐

  1. JDK自带工具native2ascii

    背景:在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,比如常见的validator验证用的消息资源(properties)文件就需要进行Unicode重新编码.原因是java ...

  2. apache中配置php支持模块模式、cgi模式和fastcgi模式

    首先安装apache.mysql和php,依次顺序安装. 1.apache.mysql的安装比较简单,略过 2. php的安装,我安装的是php5.3.6内置了php-fpm,所以不需要再单独下补丁了 ...

  3. C#中IL, CTS, CLR, CLS, JIT含义

    1. IL/MSIL  (Microsoft Intermediate Language) 微软中间语言 (IL是MSIL的缩写,译为中间语言) 2. CTS  (Common Type System ...

  4. Effective C++(6) 如何拒绝编译器的自动生成函数

    问题聚焦: 如果不希望class支持某一成员函数,那么不声明和定义它就可以了,但是这一策略对与拷贝构造函数和重载赋值操作符并不起作用. 因为如果不声明它们,那么当尝试调用它们的时候,编译器会为你声明和 ...

  5. Eclipse导出可运行的jar包并运行

    https://blog.csdn.net/kpchen_0508/article/details/49275407 程序运行的第二种方式:

  6. [BZOJ 1647][USACO 2007 Open] Fliptile 翻格子游戏

    1647: [Usaco2007 Open]Fliptile 翻格子游戏 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 702  Solved: 281[ ...

  7. 【解决方案】[XCUITest] WDA is not listening at 'http://localhost:8100/'

    1. 使用Xcode 编译 WebDriver 发现端口为:serverurlhere->http://手机ip:0 <-serverurlhere 2. 解决方案: xcodebuild ...

  8. kafka概要设计

    Kafka核心功能 即:高性能的消息发送与高性能的消息消费 下载安装包后即可启动Kafka服务器,但是此前需要首先启动Zookeeper服务器,Zookeeper是为Kafka提供协调服务的工具,Ka ...

  9. Java集合框架中的快速失败(fail—fast)机制

      fail-fast机制,即快速失败机制,是java集合框架中的一种错误检测机制.多线程下用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加.删除),则会抛出Concurre ...

  10. Nginx and PHP-FPM Configuration and Optimizing Tips and Tricks

    原文链接:http://www.if-not-true-then-false.com/2011/nginx-and-php-fpm-configuration-and-optimizing-tips- ...