php复制文件后改名的实例代码
在本篇文章里小编给大家整理的是一篇关于php复制文件后改名的方法及相关内容,有兴趣的朋友们可以学习下。
1、сoру函数来实现复制文件后修改文件名,该函数可以将一个文件复制(拷贝)到指定目录中。
2、语法“copy($file, $newfile)”;如果执行成功则返回TRUE,如果执行失败则返回FALSE。
实例:
- <?php
- header("Content-type:text/html;charset=utf-8");
- $file = 'test.txt';
- $newfile = 'newtest.txt';
- if(copy($file, $newfile)){
- echo '文件复制成功!';
- }else{
- echo '文件复制失败!';
- }
- ?>
实例扩展:
- <?php
- header("Content-type: text/html; charset=utf-8");
- // 将原文件复制
- function recurse_copy($src,$des){
- $dir = opendir($src);
- mkdir($des);
- while(($file=readdir($dir)) !== false){
- if ($file != '.' && $file != '..') {
- if (is_dir($src.'/'.$file)) {
- recurse_copy($src.'/'.$file,$des.'/'.$file);
- }else{
- copy($src.'/'.$file,$des.'/'.$file);
- }
- }
- }
- closedir($dir);
- }
- recurse_copy('./img','./header');
- // 将复制后的文件重新命名并输出
- $dir = './header';
- $filename = scandir($dir);
- $match = null;
- foreach($filename as $k=>$v){
- if ($v!='.' && $v!='..') {
- $v = @iconv('GB2312','UTF-8',$v);
- preg_match('/\d+\s*(.*).jpg/',$v,$match);
- // preg_match('/(.*).jpg/',$v,$match);
- // var_dump($v);
- if($v != false){
- $name = $match[1];
- // echo $dir.'/'.$v.'<br>';
- // echo ($k-1).'--'.$name.'<br>';
- $oldname = $dir.'/'.$v;
- $newname = $dir.'/'.($k-1).'.jpg';
- // echo $newname.'---'.$oldname.'<br>';
- if (file_exists($newname)) {
- echo "目标文件已存";
- // return false;
- }else{
- // WINDOW系统中中文默认编码是GBK好心塞,中文文件修改一直报错
- // rename($oldname,$newname);
- rename(iconv('UTF-8','GBK',$oldname), iconv('UTF-8','GBK',$newname));
- }
- }
- echo '<img src="'.$newname.'"" alt="'.$name.'">';
- }
- }
- ?>