照片文件默认是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