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 相关文章推荐
一个php作的文本留言本的例子(六)
Oct 09 PHP
php下将多个数组合并成一个数组的方法与实例代码
Feb 03 PHP
在smarty中调用php内置函数的方法
Feb 07 PHP
php正则表达式使用的详细介绍
Apr 27 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
Apr 21 PHP
windows下配置apache+php+mysql时出现问题的处理方法
Jun 20 PHP
ThinkPHP之R方法实例详解
Jun 20 PHP
php单例模式示例分享
Feb 12 PHP
php实现的网络相册图片防盗链完美破解方法
Jul 01 PHP
微信支付开发维权通知实例
Jul 12 PHP
微信开发之获取JSAPI TICKET
Jul 07 PHP
thinkPHP5框架自定义验证器实现方法分析
Jun 11 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
php使用正则表达式去掉html中的注释方法
2016/11/03 PHP
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
2010/05/06 Javascript
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
jquery 查找iframe父级页面元素的实现代码
2011/08/28 Javascript
js绑定事件this指向发生改变的问题解决方法
2013/04/23 Javascript
js计算字符串长度包含的中文是utf8格式
2013/10/15 Javascript
js控制淡入淡出示例代码
2013/11/12 Javascript
JavaScript之IE的fireEvent方法详细解析
2013/11/20 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
使用mouse事件实现简单的鼠标经过特效
2015/01/30 Javascript
浅谈jQuery.easyui的datebox格式化时间
2015/06/25 Javascript
使用RequireJS优化JavaScript引用代码的方法
2015/07/01 Javascript
jQuery EasyUI 折叠面板accordion的使用实例(分享)
2017/12/25 jQuery
JavaScript设计模式之原型模式分析【ES5与ES6】
2018/07/26 Javascript
JavaScript常用数组操作方法,包含ES6方法
2020/05/10 Javascript
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
Vue 幸运大转盘实现思路详解
2019/05/06 Javascript
Json实现传值到后台代码实例
2020/06/30 Javascript
js实现前端界面导航栏下拉列表
2020/08/27 Javascript
vue-drawer-layout实现手势滑出菜单栏
2020/11/19 Vue.js
[44:15]国士无双DOTA2 6.82版本详解(上)
2014/09/28 DOTA
python实现Adapter模式实例代码
2018/02/09 Python
Python数据分析matplotlib设置多个子图的间距方法
2018/08/03 Python
Python使用paramiko操作linux的方法讲解
2019/02/25 Python
Python如何对齐字符串
2020/07/30 Python
英国女装网上商店:I Saw It First
2018/10/18 全球购物
俄罗斯化妆品和香水网上商店:Iledebeaute
2019/01/03 全球购物
精美的手工家居和生活用品:Nkuku
2019/11/01 全球购物
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
2016/05/09 面试题
计算机网络毕业生自荐信
2013/10/01 职场文书
初中家长评语大全
2014/12/26 职场文书
辞职申请书范本
2019/05/20 职场文书
学习心得体会
2019/06/20 职场文书
创业计划书之花店
2019/09/20 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书
【超详细】八大排序算法的各项比较以及各自特点
2021/03/31 Python