PHP 批量移动文件改名
Posted studyphp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();
}
以上是关于PHP 批量移动文件改名的主要内容,如果未能解决你的问题,请参考以下文章
说说在 Python 中如何复制、移动、改名以及删除文件或文件夹