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 相关文章推荐
一个查看session内容的函数
Oct 09 PHP
php MessagePack介绍
Oct 06 PHP
php+ajax实现无刷新分页的方法
Nov 04 PHP
PHP获取数组长度或某个值出现次数的方法
Feb 11 PHP
简单谈谈PHP中strlen 函数
Feb 27 PHP
PHP错误机制知识汇总
Mar 24 PHP
利用php_imagick实现复古效果的方法
Oct 18 PHP
PHP实现二维数组按某列进行排序的方法
Nov 18 PHP
详解PHP安装mysql.so扩展的方法
Dec 31 PHP
PHP获取文件扩展名的常用方法小结【五种方式】
Apr 27 PHP
php高清晰度无损图片压缩功能的实现代码
Dec 09 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 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
global.php
2006/12/09 PHP
async和DOM Script文件加载比较
2014/07/20 PHP
PHP第三方登录―QQ登录实现方法
2017/02/06 PHP
PHP编程获取图片的主色调的方法【基于Imagick扩展】
2017/08/02 PHP
PHP实现微信提现功能
2018/09/30 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
2019/07/12 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
Extjs学习笔记之九 数据模型(上)
2010/01/11 Javascript
自写的一个jQuery圆角插件
2010/10/26 Javascript
JQuery 应用 JQuery.groupTable.js
2010/12/15 Javascript
js自定义事件及事件交互原理概述(一)
2013/02/01 Javascript
js密码强度检测
2016/01/07 Javascript
jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
2020/04/16 Javascript
JS实现颜色的10进制转化成rgba格式的方法
2017/09/04 Javascript
JS/HTML5游戏常用算法之碰撞检测 像素检测算法实例详解
2018/12/12 Javascript
微信小程序--获取用户地理位置名称(无须用户授权)的方法
2019/04/29 Javascript
vue 使用v-for进行循环的实例代码详解
2020/02/19 Javascript
[02:05]2014DOTA2西雅图邀请赛 专访啸天mik夫妻档
2014/07/08 DOTA
闭包在python中的应用之translate和maketrans用法详解
2014/08/27 Python
剖析Python的Twisted框架的核心特性
2016/05/25 Python
Python爬取三国演义的实现方法
2016/09/12 Python
Python简单实现自动删除目录下空文件夹的方法
2017/08/29 Python
Python进行统计建模
2020/08/10 Python
利用CSS3 动画 绘画 圆形动态时钟
2018/03/20 HTML / CSS
Notino瑞典:购买香水和美容产品
2019/07/26 全球购物
若干个Java基础面试题
2015/05/19 面试题
优秀学生干部个人的自我评价
2013/10/04 职场文书
开业庆典答谢词
2014/01/18 职场文书
安全目标责任书
2014/07/22 职场文书
教师节横幅标语
2014/10/08 职场文书
2015年初中教师个人工作总结
2015/07/21 职场文书
2019交通安全宣传标语集锦!
2019/06/28 职场文书
python字符串常规操作大全
2021/05/02 Python
【海涛七七解说】DCG第二周:DK VS 天禄
2022/04/01 DOTA
Docker下安装Oracle19c
2022/04/13 Servers
Redis批量生成数据的实现
2022/06/05 Redis