Twitter 今天即将飞回广州00:42夜已深,刚写完日记 杭州 释然 回味 “我会回来滴”灰大狼
 PHPma >> Work > PHP遍历拷贝与遍历删除滴自定义函数

自己写的总是那么的难,看过了都觉得简单

这里没有高深的技术、更没有罗里吧嗦多余的代码,只是PHPma工作中的一个小小的应用,摄影师上传的图片要跟后台数据库做对接扫描而做处理程序上的处理,以此来减少编辑人员的工作负担。

/**
 * 遍历文件夹下所有文件,当然你也可以直接使用shell命令(可在win主机下怎么办?)
 * @author phpma
 * @param $dir 遍历文件夹绝对路径
 */

function myDirPathTreeDel($dir)
{
	if( !@chdir($dir) ){
		return false;
	}
	$arr = scandir($dir);

	foreach ($arr AS $k => $file) {
    	if($file == '.' || $file == ".."){
            continue;
        }
        $dfile = $dir.'/'.$file;
		if(is_file($dfile)) @unlink($dfile);              
		if(is_dir($dfile))
		{
			myDirPathTreeDel($dfile);
			chdir('..');
			@rmdir($dfile);
		}
	}
}
phpma.com
/**
 * 遍历拷贝所有文件,zip解压缩后的图片拷贝与遍历,需要拷贝其他文件只要把限定去掉即可。
 * @author phpma
 * @param $dir 遍历文件夹绝对路径
 * @param $path 拷贝目标文件绝对路径
 */
function myDirPathTree($dir,$path)
{
	if( !@chdir($dir) ){
		return false;
	}
	$arr = scandir($dir);

	foreach ($arr AS $k => $file) {
    	if($file == '.' || $file == ".."){
            continue;
        }
		$dpk = $_GET['dpk']++;	/*dpk全局变量 dir => d path => p  arr =>k*/
		if(is_file($file))
		{
			$source = $dir.'/'.$file;
                        $newname = $file == '1.jpg' ? $vv : date('YmdHis_').$dpk.".jpg";
			$dest = $path.'/'.$newname;
			/*if(!preg_match("|\.jpg|i", $vv)) {*/
			if(!preg_match("(\.[jJ][Pp][Gg]|\.[Gg][Ii][Ff]|\.[Pp][Nn][Gg])", $file)) {
				unlink($source);
				continue;
			}
			copy($source, $dest);
			@unlink($source);
		}

		if(is_dir($file))
		{
			$dfile = $dir.'/'.$file;
			myDirPathTree($dfile,$path);
			chdir('..');
			@rmdir($file);
		}
	}
}
函数不再详细讨论,因为已经有了详细的注释。
                            /**
                             ** 温馨提示:本站所有文章均来自PHPma精心编辑,99%原创,转帖之人需保留本站的链接
                             ** 本站所有文章仅代表本人观点,转帖概不负责
                             ** 作者:PHPma
                             **/
                        

About PHPma

PHPma一个主要关注PHP技术为主的技术杂烩站点

一个在PHP技术圈子里面活跃D虾米,分享一个草根IT程序员D劳动成果,亦是此草根IT程序员发泄的场所。

Email:phpmacom@gmail.com

网站分类

copyright 2010 - 2012, 版权所有  All Rights Reserved