php rename错误原因的查找方法

admin3年前PHP教程82

打印出错误的原因。

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 502 bad gateway原因及解决方案

nginx+php 出现502 bad gateway,一般这都不是nginx的问题,而是由于 fastcgi或者php的问题导致的,常见的有以下几种。1. php.ini 的memory_limit...

详解Swoole TCP流数据边界问题解决方案

1. 数据发送过程首先由客户端将数据发往缓冲区 (服务端并不是直接收到的), 对于客户端来说,这次的数据即是发送成功了, 对于服务端是否真正的收到他是不知道的, 然后再由服务端从缓冲区中读取数据。图解...

laravel结合vue添加权限的实现示例

目录一、添加(权限)节点1.1、引入vue1.2、添加模版(vue、jquery)1.3、添加节点控制器逻辑1.4、模型中定义修改器1.5、效果: 一、添加(权限)节点 1.1、引...

php中laravel调度执行错误解决方法

我们说laravel框架的功能性比较明确,作为全栈框架在代码的运行上是比较简洁的。在对laravel框架安装完成后,我们可以就其中的一些操作为大家展现。本篇要带来的是在laravel中的调度,分为两种...

美国多ip服务器有哪些配置可选择

美国多IP服务器的配置因服务提供商而异,但通常您可以选择以下配置:CPU类型和数量:您可以选择不同型号的CPU以及需要的数量,以满足您的需求。内存(RAM):内存的大小将直接影响服务器的性能。您可以根...

PHP导出数据超时的优化建议

一般情况下,导出超时可能都是以下三种情况:  一、sql语句复杂,查询时间过长;  二、处理查询后数据逻辑冗余;  三、数据量过大导致响应超时。接下来分别给出这三种情况的优化建议。一、sql语句复杂,...