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 相关文章推荐
多文件上载系统完整版
Oct 09 PHP
PHP 选项及相关信息函数库
Dec 04 PHP
PHP日期时间函数的高级应用技巧
May 16 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
May 07 PHP
解析csv数据导入mysql的方法
Jul 01 PHP
3种方法轻松处理php开发中emoji表情的问题
Jul 18 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
Dec 02 PHP
php图形jpgraph操作实例分析
Feb 22 PHP
YII2框架中excel表格导出的方法详解
Jul 21 PHP
PHP实现登录注册之BootStrap表单功能
Sep 03 PHP
PHP实现按之字形顺序打印二叉树的方法
Jan 16 PHP
php变量与字符串的增删改查操作示例
May 07 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中设置时区方法小结
2012/06/03 PHP
PHP+shell实现多线程的方法
2015/07/01 PHP
php 人员权限管理(RBAC)实例(推荐)
2017/05/24 PHP
IE6中使用position导致页面变形的解决方案(js代码)
2011/01/09 Javascript
JavaScript中合并数组的N种方法
2014/09/16 Javascript
jquery实现两个图片渐变切换效果的方法
2015/06/25 Javascript
深入浅析JavaScript中对事件的三种监听方式
2015/09/29 Javascript
js实现动态加载脚本的方法实例汇总
2015/11/02 Javascript
jquery的checkbox,radio,select等方法小结
2016/08/30 Javascript
JavaScript易错知识点整理
2016/12/05 Javascript
ES6学习笔记之Set和Map数据结构详解
2017/04/07 Javascript
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
2019/06/18 Javascript
一次微信小程序内地图的使用实战记录
2019/09/09 Javascript
vue中el-input绑定键盘按键(按键修饰符)
2020/07/22 Javascript
Node使用koa2实现一个简单JWT鉴权的方法
2021/01/26 Javascript
[01:01:24]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[46:14]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[39:08]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第一场 12.12
2020/12/16 DOTA
浅谈python中set使用
2016/06/30 Python
利用 Monkey 命令操作屏幕快速滑动
2016/12/07 Python
Python语言检测模块langid和langdetect的使用实例
2019/02/19 Python
python中的&&及||的实现示例
2019/08/07 Python
Python代码块及缓存机制原理详解
2019/12/13 Python
使用Keras预训练好的模型进行目标类别预测详解
2020/06/27 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
html特殊符号示例 html特殊字符编码对照表
2014/01/14 HTML / CSS
canvas绘制树形结构可视图形的实现
2020/04/03 HTML / CSS
德国最大的网上鞋店之一:Schuhe24.de
2017/06/10 全球购物
学校节能减排方案
2014/06/13 职场文书
经营理念标语
2014/06/21 职场文书
市场营销计划书
2015/01/17 职场文书
故宫的导游词
2015/01/31 职场文书
2016反腐倡廉警示教育心得体会
2016/01/13 职场文书
励志语录:时光飞逝,请学会珍惜所有的人和事
2020/01/16 职场文书
详解MySQL集群搭建
2021/05/26 MySQL