php rename错误原因的查找方法

admin3年前PHP教程45

打印出错误的原因。

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 添加的.

到此这篇关于php rename错误原因的查找方法的文章就介绍到这了,更多相关php rename错误原因内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

分析PHP的垃圾回收机制

如果用过C语言,那么申请内存的方式是malloc或者是calloc,然后你用完这个内存后,一定不要忘了用free函数去释放掉,这就是传说中手动垃圾回收,一般都是扫地神僧用这种方式。很多高层次语言中,你...

php短视频源码之瀑布流分割线左右间距问题及解决代码

下面展示一下非瀑布流的item布局情况,每个item的高度都是一样的,所以他的index就是左右左右,position所对应的itemView就是准确的,左0,右1,左2,右3,以此类推&hellip...

泉州高防服务器防御方式是怎么样的

泉州高防服务器的防御方式主要有以下几种:流量清洗:流量清洗是高防服务器最基本的防御方式,它通过对所有进入服务器的流量进行实时监测和分析,检测出异常流量并将其过滤掉,从而保证服务器正常运行。这种方式可以...

江苏BGP高防服务器租用哪家好

江苏BGP高防服务器租用哪家好?选择租用江苏BGP高防服务器时,应该考虑以下因素:服务商信誉:选择知名度高、口碑好的服务商,可以保证服务质量和售后支持。配置要求:根据游戏服务器的实际需求,选择配置合适...

php安全攻防世界unserialize函数反序列化示例详解

目录步骤总结 步骤首先打开题目,发现给了一段源码:分析源码,发现类里面有三个魔术方法:__construct():构造函数,对类的变量进行初始化,创建时自动调用,用得到的参数覆盖$file_...

如何使用Laravel Eloquent来开发无限极分类

概述我们会创建一个微型项目来展示儿童商店的分类,总共有 5 级,如下:数据库迁移简单的数据表结构:只有一个 name 字段, 关联到其自身。所以,大部分父级分类 category_id = null,...