首頁 >php教程 >php手册 >利用php实现文件迁移重命名,

利用php实现文件迁移重命名,

WBOY
WBOY原創
2016-06-13 08:57:441431瀏覽

利用php实现文件迁移重命名,

  首先表明,这是一个悲伤的故事。  

  暑假来临,学校安排我们到某软件外包公司实习,想想不用面试也是蛮方便的,可以借此机会向大牛学习学习,虽然没有工资(据说学校还交了600块的保险),但想想还是蛮期待的,但真正到公司就懵逼了~技术人员都不在好不好!职位都安排好了,什么人力资源,经营管理,还有财务管理之类,做培训的,但没有一个写代码的啊!

  我被分到了经营管理部门,每天接触的是各种合同审批,合同扫描,合同盖章,合同...  总之围着合同团团转,打杂远远多于学习。想想如果没有我们那些公司的人也要处理如此重复无聊的工作,真是让我对工作有点抗拒了。

  不闲扯了,我遇到了这么一个问题。公司合同文本在存档前都要扫描到计算机上然后上传到公司系统。 所有扫描完的合同都存在一个文件夹里,当初扫描时为了方便统一命名为

"CD+年份+月份+合同编号.pdf";例如15年7月的第10份合同命名为“CD1507010.pdf”。每个月合同大概有300份左右。为了上传到系统,有两种方法,一种是一份一份上传到系统,一种是在本地重命名好打包发送到系统。 手工操作的话,无论哪一种都耗时在一个小时以上。如此重复无聊的工作,简直让人奔溃。对于第一种方法,由于不了解系统,我没有做更多深究,我着重考虑第二种方法。在本地重命名规则是将原来的pdf文件放置在"文件名+C"的文件夹下,并且重命名为HTWB.pdf

  本着重复工作尽量交给计算机去做的原则,我考虑用自己所学的php语言来解决问题。(不知道其他语言是否更加高效,但这明显要比纯手工更高效)。

  公司电脑配置为win7系统,虽说是一家软件公司,但是非研发部门的计算机水平和一般公司的无异。考虑到操作人员的计算机相关知识,也考虑到实现的便捷性,我没有安装Apache服务器甚至也没有启动Windows自带的IIS,直接利用命令行进行操作。

  名为htzy.php的脚本如下:

<?<span>php 

</span><span>$path</span>=<span>dirname</span>(<span>__FILE__</span><span>);
</span><span>$handle</span>=<span>opendir</span>(<span>$path</span><span>);

</span><span>while</span> (!(<span>$item</span>=<span>readdir</span>(<span>$handle</span>))==<span>false</span><span>) {
    </span><span>if</span> (<span>$item</span>!='.'&&<span>$item</span>!='..'&&<span>$item</span>!='htzy.php'<span>) {

        </span><span>$arr</span>=<span>explode</span>('.', <span>$item</span><span>);
        </span><span>$dirname</span>=<span>$arr</span>[0].'C'<span>;
        </span><span>mkdir</span>(<span>$path</span>.'/'.<span>$dirname</span><span>);
        </span><span>rename</span>(<span>$path</span>.'/'.<span>$item</span>,<span>$path</span>.'/'.<span>$dirname</span>.'/HTWB.pdf'<span> );
    }
}

</span><span>unlink</span>('./htzy.php'<span>);
 </span>?>

  将此文件放置在要处理的文件夹下,在文件夹打开命令行窗口,输入  

      php -f htzy.php

   稍等几秒就好。  

       简单利用  mkdir()  rename()函数完成文件转移,最后利用unlink删除脚本,所以,要重复利用此脚本的话需要保存好它~

 

   至此,文件迁移重命名完成。

     Knowledge is power~

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn