PHP 批量移动文件改名

public function changeCoverName(){    //$type = ‘考研‘;    //$coverPath = ‘./Public/course_cover/kaoyan/‘;    $type = ‘四六级‘;    $coverPath = ‘./Public/course_cover/four-six/‘;//源目录

    $targetPath = ‘./Upload/img/course_img/cover/‘.md5($type).‘/‘;//目标目录

    //移动文件    $this->recurseCopy($coverPath,$targetPath);

    //移动后改名文件    $this->changeName($targetPath);

}

移动文件函数
//目录文件移动,简洁 高效public function recurseCopy($src,$dst) {  // 原目录,复制到的目录    $dir = opendir($src);    @mkdir($dst);    while(false !== ( $file = readdir($dir)) ) {        if (( $file != ‘.‘ ) && ( $file != ‘..‘ )) {            if ( is_dir($src . ‘/‘ . $file) ) {                $this->recurseCopy($src . ‘/‘ . $file,$dst . ‘/‘ . $file);            }            else {                copy($src . ‘/‘ . $file,$dst . ‘/‘ . $file);            }        }    }    closedir($dir);}
//改名函数    public function changeName($targetPath){        $d = dir($targetPath);        while (false !== ($entry = $d->read())) {            $newStr = explode(‘.‘,$entry);            $newStr[0] = iconv(‘gbk‘,‘utf-8‘,$newStr[0]);            $newName = md5($newStr[0]);//            echo $newStr[0].‘---‘.$newName.‘<br/>‘;            rename($targetPath.$entry, $targetPath.$newName.".".$newStr[1]);        }        $d->close();    }
时间: 2024-12-12 04:34:47

PHP 批量移动文件改名的相关文章

批量修改文件夹名称,从此再也不愁了

package practice; import java.io.File; /** * 通过这个程序可以批量修改文件夹的名字 * @author asus * */public class ChangeName { public static void main(String[] args) { //封装数据源 File file = new File("F:\\Java\\历经5年锤炼(史上最适合初学者入门的Java基础视频)"); //获取文件夹下所有文件及文件夹 File[]

【ThinkingInJava】57、批量修改文件的名字

/** * 书本:<Thinking In Java> * 功能:批量修改文件的名字 * 文件:Restaurant.java * 时间:2015年5月9日09:20:13 * 作者:cutter_point */ package Lesson18IO; import java.io.File; public class ChangeName { public void isDirOrNot(File file) { if(file.isDirectory()) { File[] files1

shell练习题:使用for循环批量修改文件扩展名

shell练习题:使用for循环批量修改文件扩展名 说明:(1)在linux下批量修改文件名,将下图所示命令中的"_linux"去掉. (2)使用for循环脚本. 思路:本题的基本解题思路,先进行单个文件的改名,然后再用循环实现批量改名,这是比较常规的做法,也可以用rename专业改名工具. 方法一: 说明:使用cut.sed工具 脚本如下: #!/bin/bash cd /test for i in `ls|grep .*.jpg` do mv $i `echo $i |cut -d

Linux删除破折号开头的文件与Windows下批量去掉文件的隐藏属性

昨天去打印店打印材料,结果中毒了,所有的文件都隐藏了,生成了一堆快捷方式.回来之后,我顺手把它查到Linux的机器上,想删掉那些诡异的文件.下面是这个过程中,遇到的问题. 1.无法删除'-'开头的文件 本来看到有好多windows下.lnk结尾的快捷方式文件,所以,直接简单粗暴的用rm -rf *.lnk 删除,结果报错.为了说明情况,我下面做了一个例子,目录中只有一个名为"-a.txt"的文件,执行下面的命令,报错信息如下: rm *.txt rm: invalid option -

ubuntu下,批量更改文件后缀

ubuntu下,批量更改文件后缀: eg:把当前目录下以tpl为后缀的文件全部rename为html a.tpl  b.tpl  c.tpl 执行命令:   rename 's/\.tpl/.html/' *.tpl a.html  b.html  c.html

linux下sed批量替换文件内容

在linux超级终端下编辑文档是件比较麻烦的事情,下面简单介绍一下如何在linux下批量替换文件内容 linuxsed 批量替换多个文件中的字符串 格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` 例如:替换/home下所有文件中的xxx为ooo sed -i "s/xxx/ooo/g" `grep xxx -rl /home` 单个文件中的字符串替换 将文件1.txt内的文字“111”替换成“222” sed -i &qu

用C#Winform写个简单的批量清空文件内容和删除文件的小工具

用C#Winform写个简单的批量清空文件内容和删除文件的小工具 本文介绍这个简单得不能再简单的小项目.做这个项目,有以下目的. 1 当然是做个能用的工具 2 学习使用Github 关于用VS2013创建一个项目并添加到Github的教程,请参考(http://www.admin10000.com/document/4004.html).简单来说,就是先用VS创建项目:然后在Github网站上创建一个Respo(本项目的代码托管项目),记下(https://*.git)那个地址:最后用"提交&q

&lt;&lt;&lt; JS实现网页批量下载文件,支持PC/手机

//把下载链接放入集合里 var downloadData = new Array{"http://www.empli.com/data1.apk","http://www.empli.com/data1.apk","http://www.empli.com/data1.apk","http://www.empli.com/data1.apk"}; var downloadNum=0;//方法执行次数 circularWind

php批量下载文件

最近用codeigniter开发一个图片网站,发现单文件下载很容易实现,批量下载的话,不是很容易实现. 以下是参考网上的例子,编写的一个测试文件,遇到同样问题而不知道如何处理的朋友们可以参考下. 思路: ① 把要下载的图片信息组合到$imgs数组中 ② 把要下载的图片打包成zip压缩包 ③ 下载压缩包,删除服务器上的临时zip文件 <?php $imgs[] = 'http://demo.pic.com/column_f/large/IMG_Af8P_15.jpg'; $imgs[] = 'ht