//遍历目录及文件

 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. RN 解决CFBundleIdentifier", Does Not Exist

    mac环境下,在命令行中run-ios构建时报错:CFBundleIdentifier", Does Not Exist 打开XCode,进入.xcodeproj文件,运行,编译时报错:'b ...

  2. Python套接字

    1.客户端/服务器架构 什么是客户端/服务器架构?对于不同的人来说,它意味着不同的东西,这取决于你问谁以及描述的是软件还是硬件系统.在这两种情况中的任何一种下,前提都很简单:服务器就是一系列硬件或软件 ...

  3. 关于Unity3d的Quaternion.Slerp的学习

    首先在场景中创建三个cube的GameObject,from表示要转换之前的样子,to表示转换之后的样子,change表示转的效果.如下图所示: 其中from和change cube开始运行之前的tr ...

  4. Mac系统完美配置Cocos2d-x 2.2.3 的Android+IOS双平台环境

    注意:本文的Cocos2d-x的版本是2.2.3,更高版本可能会略有不同,低版本者不建议参考 首先需要配置XCODE环境 下载Cocos2d-x 然后下载Cocos2d-x的整个源码:http://w ...

  5. [翻译] BFKit

    BFKit BFKit is a collection of useful classes to develop Apps faster. BFKit是一个有用的工具集合,帮助你快速开发. Insta ...

  6. 乘风破浪:LeetCode真题_007_Reverse Integer

    乘风破浪:LeetCode真题_007_Reverse Integer 一.前言 这是一个比较简单的问题了,将整数翻转,主要考察了取整和取余,以及灵活地使用long型变量防止越界的问题. 二.Reve ...

  7. Linux服务器磁盘空间占满问题

    下面我们一起来看一篇关于Linux服务器磁盘占满问题解决(/dev/sda3 满了),希望碰到此类问题的人能带来帮助.   今天下班某电商技术部leader发现个问题,说他们服务器硬盘满了.把日志文件 ...

  8. python中的BaseManager通信(二)文件二分

    提供服务部分(运行时在接收端未打开前不能关闭) #mainsec.py from multiprocessing import Process, Queue from multiprocessing. ...

  9. python中的Lock

    #Lock.py from multiprocessing import Process,Lock import os def f(l,i): l.acquire() print('hello wor ...

  10. hbase性能调优(1)

    hbase性能调优 标签: hbase 性能调优 | 发表时间:2014-05-17 15:10 | 作者:无尘道长 分享到: 出处:http://www.iteye.com 一.服务端调优 1.参数 ...