您的位置:首页 > 编程语言 > PHP开发

用命令行操作遍历目录,查找文件的PHP代码

2008-10-31 10:42 731 查看
#!/usr/bin/php -q
<?php
/*
wangliang 2007-7-9

检查目录里图片的大小,不符合要求的写入./MistakePhoto.txt文件
*/

printf("Please provide your inquiries to the dir : "); //获得命令行下输入的目录路径
$dir = read_input(); //获得路径
printf("Please enter the size inquiries Photo (KB):"); //获得查询图片的大小
$filesize = read_input(); //获得判断图片的大小

if (is_dir($dir)) { //判断是否是目录
open_dir($dir);
}else{
echo "Directory does not exist!";
}

exit;
?>
<?
function read_input(){
$fp = fopen("/dev/stdin", "r");
$input = trim(fgets($fp, 1024));
fclose($fp);
return $input;
}

function open_dir($dir){
if (!is_dir($dir)){ //如果不是目录,return
return;
}
if ($dh = opendir($dir)) { //打开目录
while (($file = readdir($dh)) !== false) {
if ($file != "." && $file != "..") { //去掉. and .. 目录
if(substr($file,-4)==".jpg" || substr($file,-4)==".JPG"){//判断图像类型是否为jpg
$filename=$dir."/".$file; //获得图片路径
open_file($filename);
}else{
$redir=$dir."/".$file; //重新定义一个dir为原dir+非jpg的文件名
open_dir($redir); //再次对目录进行递归,找出大于30k的图片
}
}
}
closedir($dh); //关闭目录
}
return;
}

function open_file($filename){
$filesize=$GLOBALS['filesize'];

$namesize=filesize($filename);
if($namesize > $filesize*1024){//判断图片大小
$fp=fopen("./MistakePhoto.csv","a+");
fwrite($fp,$filename.",".$namesize."/n"); //在打开的文件里写入
fclose($fp);
print_r ($filename.",".$namesize."/n"); //输出内容
}
return;
}
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: