欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

linux环境 上传文件失败 tmp_name为空

程序员文章站 2022-06-11 19:55:29
...
Linux 上传 权限 phpinfo显示的信息如下
file_uploads On
upload_max_filesize 2M
upload_tmp_dir /Users/ririn/Sites/tmp
然后 我对 这个目录设置了777权限 chmod 777 /Users/ririn/Sites/tmp 是不是还有什么需要设置的地方?
但是上传文件 还是不行啊
首先tmp目录中就没有任何文件
当然后台用$tmp=$_FILES['mypic']['tmp_name']; 这个也无法得到...

在win中是可以正常运行的 win中的配置和这里的一样 我选的文件也只有100多k

还是贴一下我的代码 是不是linux的要加上一点什么

File1:

upimg






$tmp=$_FILES['mypic']['tmp_name']; //空的
$name=$_FILES['mypic']['name'];
$size=$_FILES['mypic']['size'];
$arr =array(
'tmp'=>$tmp,
'name'=>$name,
'size'=>$size
);
var_dump($arr);

?>
最后打印的是 array(3) { ["tmp"]=> string(0) "" ["name"]=> string(9) "scoot.png" ["size"]=> int(0) } 这样的
win中完全正常

回复讨论(解决方案)

可以在form指向的php页面直接print_r($_FILE)试试有无结果.

var_dump($_FILES);

可以在form指向的php页面直接print_r($_FILE)试试有无结果.
啊 结果是这样的
array(1) { ["mypic"]=> array(5) { ["name"]=> string(9) "scoot.png" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(2) ["size"]=> int(0) } }
还就是什么都没有啊 只有文件名

var_dump($_FILES);
结果是这样的
array(1) { ["mypic"]=> array(5) { ["name"]=> string(9) "scoot.png" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(2) ["size"]=> int(0) } }
还就是什么都没有啊 只有文件名

结果中有 ["error"]=> int(2)
手册上说
UPLOAD_ERR_FORM_SIZE
其值为 2,上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。

我就不说了

结果中有 ["error"]=> int(2)
手册上说
UPLOAD_ERR_FORM_SIZE
其值为 2,上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。

我就不说了

嗯 我换了一个文件 好了 但是我原来的那个文件才278K 但是我设置的upload_max_filesize是2M