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 相关文章推荐
不用mod_rewrite直接用php实现伪静态化页面代码
Oct 04 PHP
PHP反转字符串函数strrev()函数的用法
Feb 04 PHP
php中使用addslashes函数报错问题的解决方法
Feb 06 PHP
探讨各种PHP字符串函数的总结分析
Jun 05 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
Jun 08 PHP
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
Jan 19 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
Oct 30 PHP
ThinkPHP实现二级循环读取的方法
Nov 03 PHP
10个超级有用值得收藏的PHP代码片段
Jan 22 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
Sep 22 PHP
php实现session共享的实例方法
Sep 19 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
Jan 23 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备份数据库生成SQL文件并下载的函数代码
2012/02/05 PHP
php文件上传的例子及参数详解
2013/12/12 PHP
php 批量查询搜狗sogou代码分享
2015/05/17 PHP
php三种实现多线程类似的方法
2015/10/30 PHP
SyntaxHighlighter代码加色使用方法
2008/09/07 Javascript
JQuery 获取和设置Select选项的代码
2010/02/07 Javascript
javascript权威指南 学习笔记之null和undefined
2011/09/25 Javascript
json格式的时间显示为正常年月日的方法
2013/09/08 Javascript
用javascript删除当前行,添加行(示例代码)
2013/11/25 Javascript
基于jQuery实现文本框缩放以及上下移动功能
2014/11/24 Javascript
jquery实现左右无缝轮播图
2020/07/31 Javascript
浅析Bootstrap验证控件的使用
2016/06/23 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
2020/11/24 Javascript
Vue.js列表渲染绑定jQuery插件的正确姿势
2017/06/29 jQuery
JavaScript算法教程之sku(库存量单位)详解
2017/06/29 Javascript
Angular自定义组件实现数据双向数据绑定的实例
2017/12/11 Javascript
Angular使用操作事件指令ng-click传多个参数示例
2018/03/27 Javascript
vue安装和使用scss及sass与scss的区别详解
2018/10/15 Javascript
详解vue 项目白屏解决方案
2018/10/31 Javascript
[46:40]VGJ.T vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python ORM框架SQLAlchemy学习笔记之关系映射实例
2014/06/10 Python
python通过pil模块将raw图片转换成png图片的方法
2015/03/16 Python
Python的Flask框架应用调用Redis队列数据的方法
2016/06/06 Python
Python实现桶排序与快速排序算法结合应用示例
2017/11/22 Python
python执行系统命令后获取返回值的几种方式集合
2018/05/12 Python
使用Python的Django和layim实现即时通讯的方法
2018/05/25 Python
使用python把xmind转换成excel测试用例的实现代码
2020/10/12 Python
python的scipy.stats模块中正态分布常用函数总结
2021/02/19 Python
Java中compareTo和compare的区别
2016/04/12 面试题
J2ee常用的设计模式?说明工厂模式
2015/05/21 面试题
语文教学感言
2014/02/06 职场文书
公务员试用期满考核材料
2014/05/22 职场文书
本科毕业论文导师评语
2014/12/31 职场文书
Redis+Lua脚本实现计数器接口防刷功能(升级版)
2022/02/12 Redis
不负正版帝国之名 《重返帝国》引领SLG手游制作新的标杆
2022/04/07 其他游戏
MySQL一劳永逸永久支持输入中文的方法实例
2022/08/05 MySQL