当前位置: 首页 > 知识库问答 >
问题:

文件上传$_FILES数组为空

蒋烨然
2023-03-14

我想将文件上载到服务器,但$\u FILES数组似乎为空。

我下面的代码有问题吗?

<form action='' method='POST' enctype='multipart/form-data'> 
                <table class='table table-striped table-hover'> 
                    <tr> 
                        <td> 
                            Bestand(en)
                        </td>
                        <td> <input type='file' name='fotos[]' multiple='multiple' /> </td>

                    </tr>
                    <tr> 
                        <td> Aangepaste bestandsnaam </td>
                        <td> <input type='text' name='naam' class='form-control' /> </td>
                    </tr>
                    <tr> 

                        <td> <input type='submit' class='btn btn-primary' value='Fotos toevoegen' name='fotos_toevoegen' /> </td>
                        <td></td>
                    </tr>
                </table>
            </form>

PHP代码

    if(isset($_POST['fotos_toevoegen'])){

    print_r($_FILES['fotos']['name']);

    $array_lenght = count($_FILES['fotos']['name']);
    //print_r($_FILES['fotos']);
    for($i = 0; $i < $array_lenght; $i++){

        $array_fotos = array();

        // trek $_FILES uit elkaar zodat je individuele foto kan toevoegen.
        foreach($_FILES['fotos'] as $key => $value){
            $array_fotos[$key] = $_FILES['fotos'][$key][$i];
        }



        $foto = new Foto();

        $foto->path = $path . '/cms/fotos/orginele-bestanden';
        $foto->naam = $_POST['naam'].'-'. $i;
        $foto->album_id = $session_album_id;
        $foto->file_info = $array_fotos;
        $foto->width_thumbnail = 300;
        $foto->height_thumbnail = 250;
        $foto->width_grootformaat = 500;
        $foto->height_grootformaat = 400;

        $foto->to_string();

        //$foto_beheer->add($foto);
    }


}

Print_r($_FILES['fotos'])向我展示了这个:数组([name]=

共有2个答案

陆臻
2023-03-14

一些非常基本的测试给了我以下结果:

<?php
if(isset($_POST)){
  echo '<pre>';
  var_dump($_POST);
  var_dump($_FILES);
  echo '</pre>';
}


?>
<form action='testfile.php' method='POST' enctype='multipart/form-data'> 
                <table class='table table-striped table-hover'> 
                    <tr> 
                        <td> 
                            Bestand(en)
                        </td>
                        <td> <input type='file' name='fotos[]' multiple='multiple' /> </td>

                    </tr>
                    <tr> 
                        <td> Aangepaste bestandsnaam </td>
                        <td> <input type='text' name='naam' class='form-control' /> </td>
                    </tr>
                    <tr> 

                        <td> <input type='submit' class='btn btn-primary' value='Fotos toevoegen' name='fotos_toevoegen' /> </td>
                        <td></td>
                    </tr>
                </table>
            </form>

输出:

array(2) {
  ["naam"]=>
  string(17) "customfilename"
  ["fotos_toevoegen"]=>
  string(15) "Fotos toevoegen"
}
array(1) {
  ["fotos"]=>
  array(5) {
    ["name"]=>
    array(1) {
      [0]=>
      string(50) "2014-10-06.pdf"
    }
    ["type"]=>
    array(1) {
      [0]=>
      string(15) "application/pdf"
    }
    ["tmp_name"]=>
    array(1) {
      [0]=>
      string(36) "/Applications/MAMP/tmp/php/php79bugX"
    }
    ["error"]=>
    array(1) {
      [0]=>
      int(0)
    }
    ["size"]=>
    array(1) {
      [0]=>
      int(770241)
    }
  }
}
杜弘伟
2023-03-14

请检查上传文件的大小是否与为post_max_size配置的值相符

如果post数据的大小大于post_max_size,则$_post和$_文件超全局为空。

请参考以下网址

点击这里

 类似资料:
  • 问题内容: 我在Windows 7计算机上安装了WampServer 2。我正在使用Apache 2.2.11和PHP 5.2.11。当我尝试从表单上传任何文件时,似乎都在上传,但是在PHP中,数组为空。文件夹中没有文件。我已配置为允许文件上传等。该文件夹具有当前用户的读/写特权。我很沮丧 HTML: PHP: 问题答案: 谢谢大家的全面答复。这些都非常有帮助。答案很奇怪。事实证明,PHP 5.2

  • 问题内容: 我有以下问题,我有HTML表单,该表单上载了一些其他信息。但是它只允许上传小于10MB的文件。但是,当用户尝试上传更大的内容时,$ _ POST和$ _FILES数组都为空(我希望$ _POST将具有一些值,而$ _FILES将具有一些值,但会指示存在上传错误)。 像这样有几个问题(空的$ _POST,$ _ FILES),但是我没有找到任何解决方案或解释。 HTML形式: uploa

  • swoole提供了文件上传模块,可以自动处理来自HTTP POST的文件上传。在Controller中调用 $this->upload->save('Upfile_key'); //需要生成缩略图 $this->upload->thumb_width = 136; //缩略图宽度 $this->upload->thumb_height = 136; //缩略图高度 $this->upload->t

  • 我上传文件有问题。我正在使用codeigniter框架和dropzone。js上传文件。 我认为: 控制器: 问题是上传的文件返回为空: 数组(1){["upload_data"]= 我试图转储fileToUpload输入的POST值,也是空的。是不是我忽略了什么?

  • 问题内容: 我一直在到处寻找有关制作组件的帮助,以帮助管理从React到我已设置的端点的文件上传。 我尝试了许多选项,包括集成filedropjs。我决定反对,因为我无法控制它在DOM中设置的元素 这是我到目前为止的内容: 如果有人可以将我指向正确的方向,我会发送一些虚拟的拥抱。我已经对此进行了广泛的研究。我觉得我已经接近了,但还没到那儿。 谢谢! 问题答案: 我也为此工作了一段时间。这是我想出的

  • 本文向大家介绍java组件fileupload文件上传demo,包括了java组件fileupload文件上传demo的使用技巧和注意事项,需要的朋友参考一下 在我们的web开发中,很多的时候都需要把本机的一些文件上传到web服务器上面去。 如:一个BBS系统,当用户使用这是系统的时候,能把本机的一些图片,文档上传到服务器上面去。然后其他用户可以去下载这些文件,那么这样的话,我们可以自己编程实现文