如何利用PHP实现文件的复制并重命名
Admin 2022-08-05 群英技术资讯 1226 次浏览
今天小编跟大家讲解下有关“如何利用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.'">';
}
}
?>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
现在的开发变得多种多样,除了静态还有动态,当我们要实现魔术变量的用户,一定不能让他们有相互影响的情况发生,下文的讲解详细,步骤过程清晰,对大家进一步学习和理解相关知识有一定的帮助。有这方面学习需要的朋友就继续往下看吧!
本文实例讲述了PHP设计模式入门之迭代器模式。有不少朋友对于这个的问题比较感兴趣,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。
本篇文章给大家带来了关于Laravel请求声明周期的相关知识,请求生命周期有不同的术语,如自动加载器、内核、服务提供器、调度请求和路由等,希望对大家有帮助。
这篇文章主要介绍了laravel框架中控制器的创建和使用方法,结合实例形式详细分析了laravel框架控制器的原理、创建、使用方法及相关注意事项,需要的朋友可以参考下
这篇文章主要介绍了laravel框架学习记录之表单操作,结合实例形式详细分析了laravel框架表单操作相关的路由请求、视图、资源、渲染、表单验证、错误记录等实现方法与操作注意事项,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008