Maison > Article > développement back-end > 利用php实现文件迁移重命名
首先表明,这是一个悲伤的故事。
暑假来临,学校安排我们到某软件外包公司实习,想想不用面试也是蛮方便的,可以借此机会向大牛学习学习,虽然没有工资(据说学校还交了600块的保险),但想想还是蛮期待的,但真正到公司就懵逼了~技术人员都不在好不好!职位都安排好了,什么人力资源,经营管理,还有财务管理之类,做培训的,但没有一个写代码的啊!
我被分到了经营管理部门,每天接触的是各种合同审批,合同扫描,合同盖章,合同... 总之围着合同团团转,打杂远远多于学习。想想如果没有我们那些公司的人也要处理如此重复无聊的工作,真是让我对工作有点抗拒了。
不闲扯了,我遇到了这么一个问题。公司合同文本在存档前都要扫描到计算机上然后上传到公司系统。 所有扫描完的合同都存在一个文件夹里,当初扫描时为了方便统一命名为
"CD+年份+月份+合同编号.pdf";例如15年7月的第10份合同命名为“CD1507010.pdf”。每个月合同大概有300份左右。为了上传到系统,有两种方法,一种是一份一份上传到系统,一种是在本地重命名好打包发送到系统。 手工操作的话,无论哪一种都耗时在一个小时以上。如此重复无聊的工作,简直让人奔溃。对于第一种方法,由于不了解系统,我没有做更多深究,我着重考虑第二种方法。在本地重命名规则是将原来的pdf文件放置在"文件名+C"的文件夹下,并且重命名为HTWB.pdf。
本着重复工作尽量交给计算机去做的原则,我考虑用自己所学的php语言来解决问题。(不知道其他语言是否更加高效,但这明显要比纯手工更高效)。
公司电脑配置为win7系统,虽说是一家软件公司,但是非研发部门的计算机水平和一般公司的无异。考虑到操作人员的计算机相关知识,也考虑到实现的便捷性,我没有安装Apache服务器甚至也没有启动Windows自带的IIS,直接利用命令行进行操作。
名为htzy.php的脚本如下:
<?php $path=dirname(__FILE__);$handle=opendir($path);while (!($item=readdir($handle))==false) { if ($item!='.'&&$item!='..'&&$item!='htzy.php') { $arr=explode('.', $item); $dirname=$arr[0].'C'; mkdir($path.'/'.$dirname); rename($path.'/'.$item,$path.'/'.$dirname.'/HTWB.pdf' ); }}unlink('./htzy.php'); ?>
将此文件放置在要处理的文件夹下,在文件夹打开命令行窗口,输入
php -f htzy.php
稍等几秒就好。
简单利用 mkdir() rename()函数完成文件转移,最后利用unlink删除脚本,所以,要重复利用此脚本的话需要保存好它~
至此,文件迁移重命名完成。
Knowledge is power~