加入收藏 | 设为首页 | 会员中心 | 我要投稿 西双版纳站长网 (https://www.0691zz.com.cn/)- 数据计算、IT业界、服务器、教程、云日志!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP中rename函数错误原因有啥?怎样解决?

发布时间:2021-12-13 12:24:29 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍PHP中rename函数错误原因级解决方法,有需要的朋友可以继续往下看,希望大家阅读完这篇文章能有所收获,接下来小编带着大家一起了解看看。 打印出错误的原因。 error_get_last()似乎没有返回任何内容。rename()返回true false,而不是异
    这篇文章主要介绍PHP中rename函数错误原因级解决方法,有需要的朋友可以继续往下看,希望大家阅读完这篇文章能有所收获,接下来小编带着大家一起了解看看。
 
    打印出错误的原因。
 
    error_get_last()似乎没有返回任何内容。rename()返回true false,而不是异常。
 
if (!rename($file->filepath, $full_path)) {
  $error = error_get_last();
  watchdog('name', "Failed to move the uploaded file from %source to   %dest",
  array('%source' => $file->filepath, '%dest' => $full_path));
}
    解决办法
 
    首先,最好在以下情况之前新增一些安全检查:
 
if (file_exists($old_name) &&
    ((!file_exists($new_name)) || is_writable($new_name))) {
    rename($old_name, $new_name);
}
    其次,可以开启错误报告:
 
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
    知识点扩展:
 
    语句:rename(oldname,newname,context)
 
参数 描述
oldname 必需,规定要重命名的文件或目录.
newname 必需,规定文件或目录的新名称
context 必需,规定文件句柄的环境,context 是可修改流的行为的一套选项
注释:在 php 4.3.3 之前,rename() 不能在基于 *nix 的系统中跨磁盘分区重命名文件.
 
    注释:用于 oldname 中的封装协议必须和用于 newname 中的相匹配.
 
    注释:对 context 的支持是 php 5.0.0 添加的.

(编辑:西双版纳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读