如果上传空文件,就可以接收到空数组但是上传正常文件,就接收不到,但是文件可以正常上传
下面是表单代码:下面是控制器接收打印$_FILES['file1']代码

解决方案 »

  1.   

    先写个简单的上传例子看看能否正常打印$_FILES
      

  2.   

    你的文件多大,超过了php的最大大小没有?
      

  3.   

     'maxSize'       =>  0, //上传的文件大小限制 (0-不做限制)
    这个是我的配置,应该是不限制大小吧
      

  4.   

    error == 4 / 其值为 4,没有文件被上传。
      

  5.   

    你说的是指文件上传后的error吧,我说的是表单提交后获取file的值
      

  6.   

    你说的是指文件上传后的error吧,我说的是表单提交后获取file的值
    你打印$_FILES为空,不就是因为没有文件被上传吗?
      

  7.   

    你不是用的 from表单提交吧?你的确定也是个 a 标签,你是用 ajax ?
    所以没有文件被上传
      

  8.   

    不只是上传文件,这个数组,虽然在php文件中使用dump()出不来,但是我使用assign赋值到html中,使用{$file.}可以获取到里面的值,不知道这个到底是哪里的问题。
    这个我是今天使用getlocation这个函数,也是dump()不出来,ip相关信息,但是赋值到html模板中就可以使用{}形式,将数组元素一个一个打印出来,有大神解惑吗
      

  9.   

    若要 ajax 提交文件,就用 jquery.form.js
      

  10.   

    IS_POST 过滤
      

  11.   

    那你的程序检测是否上传的文件的时候,增加一下控制,检测文件长度是否0,你现在代码可能是检测附件是否isset,那样不好,应该是:
    if (isset($_FIELFS["file"]) && $_FIELFS["file"]["size"]>0)
      

  12.   

    上传一张很小的图片试试,
    可以查看phpinfo
    upload_max_filesize与post_max_size的值,看看是否超过大小。
      

  13.   

    你的form 有没有这一句:enctype="multipart/form-data" 
    也有可能是你上传的文件默认的名字不是$_Files['file'];先print_r($_Files)试试//下面的代码亲测有效
    //html页面
    <form method="post" action="{:U('upload')}" id="form" enctype="multipart/form-data" >
        <input type="file" name="file" >
        <button onclick="confirm()" type="button">提交</button>
    </form><script>
        function confirm(){
            $('#form').submit();
        }
    </script>
    //php
    public function upload(){
            print_r($_FILES);die();
        }