代码改变世界

个人电脑文件目录变更日志小程序

2011-10-30 21:50  PHP淮北  阅读(1978)  评论(4编辑  收藏  举报

前言:

有感于园友的电影目录对比工具《技术改变生活——电影目录核对工具(php)》,实现电影文件内容变更,自己尝试写了一个个人文件目录的变更日志小程序

正文

实现功能:

  1. 实现子文件的文件读取,只写了两级,多级的话循环调就可以了
  2. 文件目录生成(使用序列化的格式,可以当作文件日志,当然你可以可以生成好看的排版格式)
  3. 文件变更对比,(本以为使用array_diff很容易实现,结果不知道返回值总是空,蛋疼,希望高手尝试一下)
  4. 推荐两个万能的电影搜索工具(电影爱好者必备)

直接上代码吧:

<?php
/*扫描指定目录下文件 返回数组

*/
	function mydir($dir){
		$myfile = scandir($dir,1);
		foreach($myfile as $k=>$v){
		
		if(is_dir($dir."/".$v)==true&&$dir."/".$v !=$dir."/"."."&&$dir."/".$v !=$dir."/".".."){
			$sondir = $dir."/".$v;
			$sonfile = scandir($sondir);
			
			foreach($sonfile as $kk=>$vv)
			$result[$k][$kk]['filename'] = $vv;
			// $result[$k][$kk]['filesize'] = filesize($vv);//文件大小 单位字节
			$result[$k][$kk]['filectime'] = date("Y-m-d H:i:s",filectime($sondir."/".$vv));
			$result[$k][$kk]['fileatime'] = date("Y-m-d H:i:s",fileatime($sondir."/".$vv));//上次访问时间
		}else{
			$result[$k]['filename'] = $v;//文件名称
			// $result[$k]['filesize'] = filesize($v);//文件大小 单位字节
			// $result[$k]['fileowner'] = fileowner($v);//文件属于者			
			$result[$k]['filectime'] = date("Y-m-d H:i:s",filectime($dir."/".$v));//创建时间
			$result[$k]['fileatime'] = date("Y-m-d H:i:s",fileatime($dir."/".$v));//上次访问时间
		}
		
	}
		return $result;
	
	}
	//测试
	$mydir = mydir("F:\电影\Youku视频");
	
	$array = serialize($mydir);//序列化存储
	$fp = fopen("data.txt","a");//每次变化都追加到文件尾端写入(相当于日志)
	if(fwrite($fp,$array)){
		echo "文件日志生成ok";
		fclose($fp);
	}

测试截图:

QQ截图20111030211733

扫描文件夹使 用scandir可以直接扫描出文件夹信息,但是会默认出现本一级和上一级目录,所以在子集循环的时候排除了$dir."/".$v !=$dir."/"."."&&$dir."/".$v !=$dir."/"."..",由于是在win上面一些数据返回值意义不大,如文件属于者等等,

如果是视频类的文件可以安装php—ffmpeg来读取视频文件的大小 格式 分辨率 时常 等等信息,类似暴风读取视频的效果。参考:利用Ffmpeg获得flv视频缩略图和视频时间   获得视频时间总长度的另一种方法

日志存储:本文以序列化的格式存储,主要是节约存储文本大小,当然你也可以使用字符串的格式存储,那样可以起来比较好看。每次文件变更都会记录下来,生成日志@

QQ截图20111030211823

 

读取和分析日志的方法:

$file = file_get_contents("data.txt");

$array = unserialize($file);//反序列化

echo "<pre/>";
    print_r($array);

 

本想生成两个日志对比一下,使用array_diff对比数组差异不知道怎么回事,返回值总是为空,求解释!!

还是直接使用文本对比工具吧!推荐:

Compare It! 4.1b特色的文件直观比较、修改、合并工具┊汉化绿色特别版http://www.greendown.cn/soft/2860.html

在这里闲扯两句:看到很多人有硬盘什么几T大小,说实话我到现在都没有买过U盘,我的电脑320G的,我的还空着150多G,对于普通电影的话优酷上就可以看了,也没有必要下载,如果你想看非常规的电影在这里我推荐几个电影搜索工具,不过它是动作片 爱情片 奇幻片。。。貌似还没有找到过,除非他没有上传到互联网,本人这边的下载速度一般1-2M左右,公司的速度10M所以基本上不需要下电影,电影资源一搜就找到,另外如果你是一个重度Greader,一般的大片都会这第一时间看到下载资源,实在不需要收藏什么特别的电影,好了推荐的下载工具:http://dl.pconline.com.cn/download/83968.html

http://dl.pconline.com.cn/download/84876.html