php rename错误原因的查找方法

admin3年前PHP教程81

打印出错误的原因。

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+Mysql分布式事务与解决方案深入理解

事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元;事务的ACID特性事务应该具有4个属性:原子性、一致性、隔离性、持续性原子性(atomicity)。一个事务是一个不...

php有序列表或数组中删除指定的值的实现代码

实现:删除给定的值之后,得到一个新的有序列表,长度-1代码:<?php/** * Created by PhpStorm. * User: wkk * Time:...

php之使用docker运行workerman案例讲解

介绍在docker上部署gatawayWorker项目,项目中使用到mysql,redis安装 mysql拉取镜像docker pull mysql:5.7运行容器docker run  -...

php修改word的实例方法

1、将word另存为网页。2、修改为默认页面视图。3、编写php代码。4、通过fwrite等函数修改Word内容即可。实例?12345678910111213141516ob_start();//开启...

详解PHP Swoole与TCP三次握手

目录握手常见问题连接拒绝Operation now in progress丢包错误ipbacklogSYN Flood握手常见问题1、连接拒绝2、Operation now in progress 多...