照片文件默认是IMGxxx,或DSC-xxx这样的格式。有时候想按照拍摄时间来浏览的话发现不是很方便。
想用EXIF信息作为文件名,这样在排序时候可以按照时间顺序,同时加上设备名,这样管理起来比较方便。
找了几个批量改名工具用着不是很方便,刚好最近在用php帮朋友做个小应用,趁着手写了个小工具做。
1#!/usr/bin/php<?php
2
3$old=$argv[1];
4$ext=pathinfo($old,PATHINFO_EXTENSION);
5
6$exif_data=exif_read_data($argv[1]);
7#print_r($exif_data[DateTimeOriginal]);
8@$new=$exif_data[DateTimeOriginal]."_".$exif_data[Model];
9$new=str_replace(":","-",$new); //EXIF format 2010:06:18 13:03:25
10$new=str_replace(" ","_",$new);
11$new=strtolower($new.".".$ext);
12rename($old,$new);
13print$old."-->".$new."\n";
14?>
运行结果就这样的
1$ for x in `ls` ;do ../exif.php $x;done
2DSC_9170.jpg-->2011-04-17_13-59-36_nikon_d40.jpg
3DSCN0054.jpg-->2010-06-18_13-03-25_coolpix_l2.jpg
4DSCN8492.jpg-->2011-03-12_14-27-07_coolpix_l2.jpg
5DSCN8770.jpg-->2011-04-03_13-32-45_coolpix_l2.jpg