热搜:NVER node 开发 php

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

2024-09-19 21:40:01
linux环境 上传文件失败 tmp_name为空

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

                
                
            



<?php
$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