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中的CMS的涵义
Mar 11 PHP
php图片验证码代码
Mar 27 PHP
php循环输出数据库内容的代码
May 24 PHP
PHP编程过程中需要了解的this,self,parent的区别
Dec 30 PHP
PHP UTF8中文字符截断函数代码
Sep 11 PHP
php ios推送(代码)
Jul 01 PHP
PHP利用APC模块实现文件上传进度条的方法
Jan 26 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
Mar 21 PHP
Nginx下ThinkPHP5的配置方法详解
Aug 01 PHP
redis+php实现微博(二)发布与关注功能详解
Sep 23 PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 23 PHP
PHP数组访问常用方法解析
Sep 05 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个人网站架设连环讲(三)
2006/10/09 PHP
通过PHP修改Linux或Unix口令的方法分享
2012/01/30 PHP
php获取汉字首字母的函数
2013/11/07 PHP
php实现redis数据库指定库号迁移的方法
2015/01/14 PHP
php里array_work用法实例分析
2015/07/13 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
php伪静态验证码不显示的解决方案
2019/09/26 PHP
Javascript中的var_dump函数实现代码
2009/09/07 Javascript
JavaScript 弹出窗体点击按钮返回选择数据的实现
2010/04/01 Javascript
用Jquery实现多级下拉框无刷新的联动
2010/12/22 Javascript
利用json获取字符出现次数的代码
2012/03/22 Javascript
setTimeout()与setInterval()方法区别介绍
2013/12/24 Javascript
javascript中eval和with用法实例总结
2015/11/30 Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
2016/08/18 Javascript
jQuery排序插件tableSorter使用方法
2017/02/10 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
2017/03/13 Javascript
微信小程序之网络请求简单封装实例详解
2017/06/28 Javascript
js将当前时间格式化为 年-月-日 时:分:秒的实现代码
2018/01/20 Javascript
使用proxy实现一个更优雅的vue【推荐】
2018/06/19 Javascript
Nuxt的动态路由和参数校验操作
2020/11/09 Javascript
Python使用cookielib模块操作cookie的实例教程
2016/07/12 Python
详解Python判定IP地址合法性的三种方法
2018/03/06 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
python爬虫 urllib模块发起post请求过程解析
2019/08/20 Python
python 动态迁移solr数据过程解析
2019/09/04 Python
Python实现分数序列求和
2020/02/25 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
2020/06/23 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
termux中matplotlib无法显示中文问题的解决方法
2021/01/11 Python
测绘工程个人的自我评价
2013/11/10 职场文书
校庆团日活动总结
2014/08/28 职场文书
2015年五一劳动节活动总结
2015/02/09 职场文书
2015年社区文体活动总结
2015/03/25 职场文书
圆明园纪录片观后感
2015/06/03 职场文书
公司客户答谢酒会祝酒词
2015/08/11 职场文书
详解RedisTemplate下Redis分布式锁引发的系列问题
2021/04/27 Redis