柚子快报邀请码778899分享:遍历文件夹php

http://yzkb.51969.com/

遍历文件夹-php

//统计某个目录的大小

header('content-type:text/html;charset=utf-8');

//统计某个目录的大小

/**

@function 统计目录大小

@param $dirname 路径

@return int

*/

function getDirSize($dirname)

{

$dirsize = 0;

//打开目录

$dir = opendir($dirname);

//循环的读取该目录的所有文件及其子目录

while (false !== ($filename = readdir($dir))) {

// $file 表示该文件或者目录全路径

$file = $dirname . '/' . $filename;

//如果 是 . 或者 .. 不做处理

if ($filename != "." && $filename != "..") {

//判断是不是一个目录

//如果是目录,就递归统计

if (is_dir($file)) {

$dirsize += getDirSize($file);

} else {

//如果是文件就直接计算大小

$dirsize += filesize($file);

}

}

}

closedir($dir);

return $dirsize;

}

//测试一下

$dir_path = 'd:/www';

echo getDirSize($dir_path);

遍历删除目录

header('content-type:text/html;charset=utf-8');

//递归的删除目录及其子目录

/**

@function 删除一个目录及其子目录

@param $src 删除哪个目录

*/

function rrmdir($src) {

//打开一个目录

$dir = opendir($src);

//遍历整个目录

while(false !== ( $file = readdir($dir)) ) {

//如果是 . 或者 .. 不做出来

if (( $file != '.' ) && ( $file != '..' )) {

//得到这个文件的全路径

$full = $src . '/' . $file;

//如果是目录,就递归删除

if ( is_dir($full) ) {

rrmdir($full);

}

//如果不是目录,就直接删除

else {

unlink($full);

}

}

}

closedir($dir);

//当发现这个目录是空目录时,就删除目录本身.

rmdir($src);

}

//测试..

$dir_path = 'd:/www';

rrmdir($dir_path);

echo '删除 目录 成功!';

遍历拷贝目录

header('content-type:text/html;charset=utf-8');

//拷贝目录:

//定义一个常量,是目录的分割符号

define('DS', DIRECTORY_SEPARATOR);

/**

@function 拷贝一个目录的所有文件和子目录到 另外目录

@param $path 源目录 (被拷贝)

@param $dest 目标目录 (拷贝到哪里去)

*/

//需求

// d:/test 目录 拷贝 到 f:/test 目录

function copy_r( $path, $dest )

{

//先判断 源目录 是否存在?

//如果是目录,就准备递归拷贝

if( is_dir($path) )

{

//尝试创建 目标目录

@mkdir( $dest );

//这里 scandir 就是将该目录的所有文件和目录放到一个数组中.

$objects = scandir($path);

//如果该目录的内容[文件和子目录]>0

if( sizeof($objects) > 0 )

{

//经典的对数组的遍历.

foreach( $objects as $file )

{

//如果是 . 或者 .. 不处理 [php基础]

if( $file == "." || $file == ".." )

continue;

// go on

//如果是目录,就递归拷贝

if( is_dir( $path.DS.$file ) )

{

copy_r( $path.DS.$file, $dest.DS.$file );

}

else

{ //如果是文件就直接拷贝

copy( $path.DS.$file, $dest.DS.$file );

}

}

}

return true;

}

elseif( is_file($path) )

{

//如果是文件,就直接拷贝

return copy($path, $dest);

}

else

{

//如果不是文件和目录,就不拷贝

return false;

}

}

//做一个测试工作

$src_path = 'd:/test';

$dest_path = 'f:/test';

copy_r($src_path, $dest_path);

echo 'ok';

文章来源:刘俊涛的博客 欢迎关注公众号、留言、评论,一起学习。

若有帮助到您,欢迎捐赠支持,您的支持是对我坚持最好的肯定(_)

柚子快报邀请码778899分享:遍历文件夹php

http://yzkb.51969.com/

推荐阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。