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 截取字符串并以零补齐str_pad() 函数
May 07 PHP
解决file_get_contents无法请求https连接的方法
Dec 17 PHP
codeigniter中测试通过的分页类示例
Apr 17 PHP
PHP多线程编程之管道通信实例分析
Mar 07 PHP
PHP获取文件夹大小函数用法实例
Jul 01 PHP
php轻量级的性能分析工具xhprof的安装使用
Aug 12 PHP
深入解析PHP的Yii框架中的event事件机制
Mar 17 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
Feb 17 PHP
Eclipse PHPEclipse 配置的具体步骤
Aug 08 PHP
PHP实现合并两个排序链表的方法
Jan 19 PHP
php获取小程序码的实现代码(B类接口)
Jun 13 PHP
php中Swoole的热更新实现代码实例
Mar 04 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
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
PHPwind整合最土系统用户同步登录实现方法
2010/12/08 PHP
PHP CodeIgniter框架的工作原理研究
2015/03/30 PHP
PHP并发多进程处理利器Gearman使用介绍
2016/05/16 PHP
用javascript实现点击链接弹出"图片另存为"而不是直接打开
2007/08/15 Javascript
javascript document.referrer 用法
2009/04/30 Javascript
js判断是否按下了Shift键的方法
2015/01/27 Javascript
跨域请求的完美解决方法(JSONP, CORS)
2016/06/12 Javascript
探讨跨域请求资源的几种方式(总结)
2016/12/02 Javascript
Node.js通过身份证号验证年龄、出生日期与性别方法示例
2017/03/09 Javascript
ExtJs异步无法向外传值和赋值的完美解决办法
2017/06/14 Javascript
javascript 中模板方法单例的实现方法
2017/10/17 Javascript
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
2018/02/06 Javascript
layui 监听表格复选框选中值的方法
2018/08/15 Javascript
JSON生成Form表单的方法示例
2018/11/21 Javascript
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
2019/01/22 Javascript
小程序数据通信方法大全(推荐)
2019/04/15 Javascript
js回溯法计算最佳旅行线路代码实例
2019/09/11 Javascript
[02:05]2014DOTA2国际邀请赛 BBC外卡赛赛后总结
2014/07/09 DOTA
Python递归函数定义与用法示例
2017/06/02 Python
Python爬虫将爬取的图片写入world文档的方法
2018/11/07 Python
使用OpenCV circle函数图像上画圆的示例代码
2019/12/27 Python
Python MySQL 日期时间格式化作为参数的操作
2020/03/02 Python
Python爬虫爬取百度搜索内容代码实例
2020/06/05 Python
基于tensorflow for循环 while循环案例
2020/06/30 Python
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
2013/01/07 HTML / CSS
研究生自荐信
2013/10/09 职场文书
有个性的自我评价范文
2013/11/15 职场文书
党的群众教育实践活动实施方案
2014/06/12 职场文书
四风问题个人剖析材料
2014/10/07 职场文书
校园学雷锋广播稿
2014/10/08 职场文书
2015年第十五个全民国防教育日宣传活动方案
2015/05/06 职场文书
升学宴来宾致辞
2015/07/27 职场文书
会计入职心得体会
2016/01/22 职场文书
《比尾巴》教学反思
2016/02/24 职场文书
高中班主任寄语
2019/06/21 职场文书