无法在 PHP 中上传两个文件


unable to upload two files in php

我想上传html中的文件,如下所示:

<tr><td><?php _e("Upload Trust Logo","emarksheet"); ?></td><td><label class="btn btn-danger" for="file-sel"><input id="file-sel" type="file" name="imaget" style="display:none;" size="25" />Browse to Upload Logo ....</label></td></tr>
<tr><td><?php _e("Upload Institute Logo","emarksheet"); ?></td><td><label class="btn btn-primary" for="file-sel2"><input id="file-sel2" type="file" name="image" style="display:none;" size="25" />Browse to Upload Logo ....</label></td></tr>

两个上传这些文件。我的php代码如下:

$path = plugin_dir_path(__FILE__);
    $file = $_FILES['image'];
    //print_r($_FILES);
    $name1 = $file['name'];
    $type = $file['type'];
    $size = $file['size'];
    $tmppath = $file['tmp_name']; 
    move_uploaded_file ($tmppath, $path.'logos/'.$name1);
    //upload data end
    //upload trust logo`
    $file2 = $_FILES['imaget'];
    //print_r($_FILES);
    $name2 = $file2['name'];
    $type2 = $file2['type'];
    $size2 = $file2['size'];
    $tmppath2 = $file2['tmp_name']; 
    move_uploaded_file ($tmppath2, $path.'logos/'.$name2);

当我上传文件时。上传带有 $name2 的文件名,但不上传名称为 $name1 的文件

请帮助为什么不上传

正如您发布的那样,"图像"图像有一个错误 4 代码。这意味着没有上传任何文件,如下所示:http://www.php.net/manual/en/features.file-upload.errors.php

为什么?

由于您以 $_FILES 为单位获取信息,因此您发布的数据总量不会大于 post_max_size php.ini 指令,因为在这种情况下,$_FILE 将完全为空。

然后,可能会超过php.ini upload_max_filesize,即单个文件的最大大小,或者将max_file_uploads设置为1,因为max_file_uploads是允许同时上传的最大文件数。

在 http://php.net/manual/en/ini.core.php 和 php.ini 文件中检查这些参数。

我在我的本地主机服务器中尝试了这个片段,并放置在 [www_root]/tests/uploads/test1.php 中(请注意,我只是在我们的案例中使用了相关部分):

<?php
if (empty($_FILES)) {
    echo "<form enctype='multipart/form-data' method='POST' action='http://localhost/tests/uploads/test1.php'>";
    echo '<input id="file-sel" type="file" name="imaget" size="25" />';
    echo '<input id="file-sel2" type="file" name="image" size="25" />';
    echo '<button type="submit">Submit</button>';
} else {
     echo print_r($_FILES);
}

并且两个文件都正确上传。那么问题一定出在 PHP 配置上,而不是在实际的 PHP 代码上。

我在 php.ini 中的价值观:

  1. post_max_size=8M
  2. upload_max_filesize=2M
  3. max_file_uploads=20

这意味着我可以同时上传 20 个文件,但它们的总和不能超过 8M,单个文件也不能超过 2M。

编辑:修改php.ini文件后,必须重新启动服务器才能加载这些新值。

希望对您有所帮助。