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

这是一个PHP脚本,用于读取用户指定目录中的图片文件,检查它们的大小。如果图片大小超过用户设定的限制(默认单位为KB),则将图片路径和大小写入MistakePhoto.csv文件。脚本支持递归查找目录中的非.jpg文件,并对这些文件继续进行同样的检查。这有助于管理和优化存储空间或确保上传图片符合特定的尺寸要求。
摘要由CSDN通过智能技术生成

#!/usr/bin/php -q

/*

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;}?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值