PHP中rename()函数的妙用讲解


Posted in PHP onFebruary 28, 2019

大家都知道,rename()函数可以对文件或目录进行重命名的操作。其实它还可以做很多事情。

熟悉unix的朋友应该知道shell命令mv,它相当与win32的移动,而且移动的同时可进行重命名。我发现,php的rename()函数就相当于mv,它不仅仅只有简单的重命名的功能,同样可以改变文件甚至整个目录的路径。

例如:

$oldpath ----文件或目录原来路径

$newpath ----新定义路径

那么 rename($oldpath,$newpath)就可以完成文件/目录移动的操作

经过我的测试,win32和unix的php4版本都支持这个功能。

另外,好象php4的win32版取消了unlink()函数。那么还可以巧用rename()函数来完成删除的操作,例如:

$path ---- 文件或目录路径

$tmp ---- tmp目录(/tmp)

用rename($path,$tmp) 将文件移动到tmp目录.

网上有一种方法是copy+unlink来移动文件,但是遇到大文件时会消耗大量时间,对性能不怎么友好,可以使用rename()来移动文件,速度非常快

关于rename()函数

bool rename ( string $oldname , string $newname [, resource $context ] )
尝试把 oldname 重命名为 newname,若操作成功则返回True,失败返回False。

注意:

1. 对于非空文件夹,只能在同一盘符下移动。

2. 对于空文件夹,rename()可以在不同盘符间移动。但是目标文件夹的父目录必须存在。

3. 对于文件,rename()也能在不同盘符之间移动。

实列代码:

rename("/file1/www.txt", "/file2/my_file.txt");

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

PHP 相关文章推荐
WINDOWS 2000下使用ISAPI方式安装PHP
Sep 05 PHP
无数据库的详细域名查询程序PHP版(5)
Oct 09 PHP
在JavaScript中调用php程序
Mar 09 PHP
php select,radio和checkbox默认选择的实现方法
May 15 PHP
php的list()的一步操作给一组变量进行赋值的使用
May 18 PHP
Laravel框架表单验证详解
Sep 04 PHP
php获取远程文件的内容和大小
Nov 03 PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
May 31 PHP
关于PHP中字符串与多进制转换函数的实例代码
Nov 03 PHP
Laravel中unique和exists验证规则的优化详解
Jan 28 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
Oct 16 PHP
PHP sdk实现在线打包代码示例
Dec 09 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
Feb 28 #PHP
PHP微信发送推送消息乱码的解决方法
Feb 28 #PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
Feb 28 #PHP
PHP删除数组中特定元素的两种方法
Feb 28 #PHP
PHP实时统计中文字数和区别
Feb 28 #PHP
PHP正则判断一个变量是否为正整数的方法
Feb 27 #PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
Feb 27 #PHP
You might like
对Session和Cookie的区分与解释
2007/03/16 PHP
两个强悍的php 图像处理类1
2009/06/15 PHP
ThinkPHP多语言支持与多模板支持概述
2014/08/22 PHP
PHP DB 数据库连接类定义与用法示例
2019/03/11 PHP
用js实现预览待上传的本地图片
2007/03/15 Javascript
Javascript load Page,load css,load js实现代码
2010/03/31 Javascript
jQuery extend 的简单实例
2013/09/18 Javascript
javascript中call和apply方法浅谈
2013/09/27 Javascript
javascript实现按回车键切换焦点
2015/02/09 Javascript
JavaScript中数据结构与算法(四):串(BF)
2015/06/19 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
2015/08/13 Javascript
js实现按钮颜色渐变动画效果
2015/08/20 Javascript
js 弹出虚拟键盘修改密码的简单实例
2016/10/10 Javascript
JS实现的图片预览插件与用法示例【不上传图片】
2016/11/25 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
用Vue.js方法创建模板并使用多个模板合成
2019/06/28 Javascript
Egg Vue SSR 服务端渲染数据请求与asyncData
2019/11/24 Javascript
[04:42]2015国际邀请赛CDEC战队晋级之路
2015/08/13 DOTA
[06:44]2018DOTA2亚洲邀请赛4.5 SOLO赛 MidOne vs Sumail
2018/04/06 DOTA
python安装以及IDE的配置教程
2015/04/29 Python
简单介绍Python中的try和finally和with方法
2015/05/05 Python
Django中对通过测试的用户进行限制访问的方法
2015/07/23 Python
python2 与 pyhton3的输入语句写法小结
2018/09/10 Python
django 实现手动存储文件到model的FileField
2020/03/30 Python
Python flask框架如何显示图像到web页面
2020/06/03 Python
python中如何写类
2020/06/29 Python
python 安装移动复制第三方库操作
2020/07/13 Python
实现CSS3中的border-radius(边框圆角)示例代码
2013/07/19 HTML / CSS
印度购买眼镜和太阳镜网站:Coolwinks
2018/09/26 全球购物
波兰最大的度假胜地和城市公寓租赁运营商:Sun & Snow
2018/10/18 全球购物
意大利奢侈品综合电商网站:MODES
2019/12/14 全球购物
C语言编程练习
2012/04/02 面试题
软件测试笔试题
2012/10/25 面试题
民政局标准版离婚协议书
2014/12/01 职场文书
继承公证书格式
2015/01/26 职场文书
2016年大学迎新工作总结
2015/10/14 职场文书