php复制文件后改名的实例代码

在本篇文章里小编给大家整理的是一篇关于php复制文件后改名的方法及相关内容,有兴趣的朋友们可以学习下。

1、сoру函数来实现复制文件后修改文件名,该函数可以将一个文件复制(拷贝)到指定目录中。

2、语法“copy($file, $newfile)”;如果执行成功则返回TRUE,如果执行失败则返回FALSE。

实例:

  1. <?php
  2. header("Content-type:text/html;charset=utf-8");
  3. $file = 'test.txt';
  4. $newfile = 'newtest.txt';
  5. if(copy($file, $newfile)){
  6. echo '文件复制成功!';
  7. }else{
  8. echo '文件复制失败!';
  9. }
  10. ?>

实例扩展:

  1. <?php
  2. header("Content-type: text/html; charset=utf-8");
  3. // 将原文件复制
  4. function recurse_copy($src,$des){
  5. $dir = opendir($src);
  6. mkdir($des);
  7. while(($file=readdir($dir)) !== false){
  8. if ($file != '.' && $file != '..') {
  9. if (is_dir($src.'/'.$file)) {
  10. recurse_copy($src.'/'.$file,$des.'/'.$file);
  11. }else{
  12. copy($src.'/'.$file,$des.'/'.$file);
  13. }
  14. }
  15. }
  16. closedir($dir);
  17. }
  18. recurse_copy('./img','./header');
  19. // 将复制后的文件重新命名并输出
  20. $dir = './header';
  21. $filename = scandir($dir);
  22. $match = null;
  23. foreach($filename as $k=>$v){
  24. if ($v!='.' && $v!='..') {
  25. $v = @iconv('GB2312','UTF-8',$v);
  26. preg_match('/\d+\s*(.*).jpg/',$v,$match);
  27. // preg_match('/(.*).jpg/',$v,$match);
  28. // var_dump($v);
  29. if($v != false){
  30. $name = $match[1];
  31. // echo $dir.'/'.$v.'<br>';
  32. // echo ($k-1).'--'.$name.'<br>';
  33. $oldname = $dir.'/'.$v;
  34. $newname = $dir.'/'.($k-1).'.jpg';
  35. // echo $newname.'---'.$oldname.'<br>';
  36. if (file_exists($newname)) {
  37. echo "目标文件已存";
  38. // return false;
  39. }else{
  40. // WINDOW系统中中文默认编码是GBK好心塞,中文文件修改一直报错
  41. // rename($oldname,$newname);
  42. rename(iconv('UTF-8','GBK',$oldname), iconv('UTF-8','GBK',$newname));
  43. }
  44. }
  45. echo '<img src="'.$newname.'"" alt="'.$name.'">';
  46. }
  47. }
  48. ?>