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

来自:网络
时间:2023-01-03
阅读:

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.'">';
	}
}
 
 ?>
返回顶部
顶部