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获取网络文件的实现代码
Jan 01 PHP
phpmyadmin里面导入sql语句格式的大量数据的方法
Jun 05 PHP
《PHP编程最快明白》第五讲:php目录、文件操作
Nov 01 PHP
php学习笔记 php中面向对象三大特性之一[封装性]的应用
Jun 13 PHP
有关PHP性能优化的介绍
Jun 20 PHP
php中\r \r\n \t的区别示例介绍
Feb 08 PHP
PHP实现自动识别Restful API的返回内容类型
Feb 07 PHP
PHP合并数组的2种方法小结
Nov 24 PHP
PHP实现腾讯与百度坐标转换
Aug 05 PHP
laravel ORM 只开启created_at的几种方法总结
Jan 29 PHP
laravel 修改.htaccess文件 重定向public的解决方法
Oct 12 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
Feb 27 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写的采集程序
2007/03/16 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
2015/09/28 PHP
laravel5.2实现区分前后台用户登录的方法
2017/01/11 PHP
PHP简单读取xml文件的方法示例
2017/04/20 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
2017/11/20 PHP
JavaScript 权威指南(第四版) 读书笔记
2009/08/11 Javascript
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
更换select下拉菜单背景样式的实现代码
2011/12/20 Javascript
jquery之超简单的div显示和隐藏特效demo(分享)
2013/07/09 Javascript
JS模拟自动点击的简单实例
2013/08/08 Javascript
jQuery动态创建html元素的常用方法汇总
2014/09/05 Javascript
javascript实现简单的html5视频播放器
2015/05/06 Javascript
JS/jQ实现免费获取手机验证码倒计时效果
2016/06/13 Javascript
js实现简单的碰壁反弹效果
2016/08/30 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
2016/09/05 Javascript
js select下拉联动 更具级联性!
2020/04/17 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
2017/04/19 Javascript
vue调用高德地图实例代码
2017/04/28 Javascript
详解vue + vuex + directives实现权限按钮的思路
2017/10/24 Javascript
vue实现登录后页面跳转到之前页面
2018/01/07 Javascript
jQuery中元素选择器(element)简单用法示例
2018/05/14 jQuery
基于Vue 实现一个中规中矩loading组件
2019/04/03 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
2019/09/25 Javascript
JsonServer安装及启动过程图解
2020/02/28 Javascript
手机浏览器唤起微信分享(JS)
2020/10/11 Javascript
解决vant中 tab栏遇到的坑 van-tabs
2020/11/04 Javascript
python实现ip查询示例
2014/03/26 Python
Python的Urllib库的基本使用教程
2015/04/30 Python
python自动发送邮件脚本
2018/06/20 Python
python pandas生成时间列表
2019/06/29 Python
python实现ip地址查询经纬度定位详解
2019/08/30 Python
Python+opencv+pyaudio实现带声音屏幕录制
2019/12/23 Python
Currentbody法国:健康与美容高科技产品
2020/08/16 全球购物
商学院大学生求职的自我评价
2014/03/12 职场文书
人大调研汇报材料
2014/08/14 职场文书
2014小学数学教研组工作总结
2014/12/06 职场文书