php 上传文件不成功 move_uploaded_file tmp_name 为空

今天遇到的问题现象上很奇怪,

同事A是技术部的,他自己上传什么都ok

同事B是测试部的,他上传则有时成功有时失败。

(原文链接 http://ddbiz.com/?p=208)

同样的环境,有人不能成功,看来是她上传的文件不同。把文件拿过来看了看,好像大小比较大,2.3M,

 

同事A说代码设置的大小是2M,超过2M会报错,但是同事B确从来没有见到过错误信息。翻看系统日志,只有一个...Save()...中错误。看来又要调试一下了。

 

在保存文件的代码处增加了一个输出:

 

error_log("tring mv file:".PHP_EOL. "name => ". $this->Upfile['name'].PHP_EOL. "type => ". $this->Upfile['type'].PHP_EOL. "tmp_name => ". $this->Upfile['tmp_name'].PHP_EOL. "error => " . $this->Upfile['error'].PHP_EOL. "size => " . $this->Upfile['size'] );

日志信息显示:

name => xxxfile.JPEG

tmp_name =>

error => 1

size => 0

...

 

吼吼,奇怪了,tmp_name没有?error=>1表示的是文件大小超过限制。代码中大小检测一步是通过的,原来是 size=0,这个检测肯定查不出问题。

 

查看下php.ini, 发现原来

 

post_max_size = 2M

 

php在文件上传后因为大小超过系统设置,所以已经出错了。文件根本就没有保存到临时目录,而是丢弃了。

(原文链接 http://ddbiz.com/?p=208)

你可能感兴趣的:(php 上传文件不成功 move_uploaded_file tmp_name 为空)