首页 > 解决方案 > 在 PHP 中上传多个文件失败

问题描述

我想使用 PHP 在单个提交按钮中上传多个文件,但它不起作用,我尝试使用 php 上传单个文件,它运行良好,所以我认为为第二个文件复制相同的代码会很好上传了两个文件但徒劳无功。

我曾在 SO 上尝试过此解决方案,但没有成功:solution1

解决方案2

解决方案3

    <form action="" method="post" target="frame" enctype = "multipart/form-data">
        <div class="buttonsend">
            <p>Entrez votre fichier.cfg :</p>
            <input type = "file" name = "cfg" /></br>
            <p>Entrez votre fichier.dat :</p>
            <input type = "file" name = "dat" /></br></br> 
            <button id="send" type="submit" name="send">Générer</button>
        </div>
    </form>

    <?php 
        if (isset($_POST['send'])) {
            $file_tmpcfg = $_FILES['cfg']['tmp_name'];
            $file_namecfg = $_FILES['cfg']['name'];
            move_uploaded_file($file_tmpcfg,"/home/imagesdcard/www/".$file_namecfg);
            $file_tmpdat = $_FILES['dat']['tmp_name'];
            $file_namedat = $_FILES['dat']['name'];
            move_uploaded_file($file_tmpdat,"/home/imagesdcard/www/".$file_namedat);
        }
    ?>

标签: phpfile-upload

解决方案


它工作正常。我打印了上传的文件,它没有显示任何错误。

        <form action="" method="post" target="frame" enctype = "multipart/form-data">
    <div class="buttonsend">
        <p>Entrez votre fichier.cfg :</p>
        <input type = "file" name = "cfg" /></br>
        <p>Entrez votre fichier.dat :</p>
        <input type = "file" name = "dat" /></br></br> 
        <button id="send" type="submit" name="send">Générer</button>
    </div>
</form>

<?php 
    if (isset($_POST['send'])) {

    $uploaddir = '/var/www/html/';
    $uploadfileCfg = $uploaddir . basename($_FILES['cfg']['name']);
    $uploadfileDat = $uploaddir . basename($_FILES['dat']['name']);

    echo "<p>";

    if (move_uploaded_file($_FILES['cfg']['tmp_name'], $uploadfileCfg)) {
      echo "File cfg is valid, and was successfully uploaded.\n<br>";
    }else{
        echo "File cfg is invalid";
    }
    if (move_uploaded_file($_FILES['dat']['tmp_name'], $uploadfileDat)) {
      echo "File dat is valid, and was successfully uploaded.\n<br>";
    }else{
        echo "File dat is invalid";
    }

    echo "</p>";
    echo '<pre>';
    echo 'Here is some more debugging info:<br>';
    print_r($_FILES);
    print "</pre>";
}
?>

结果:

File cfg is valid, and was successfully uploaded. 
File dat is valid, and was successfully uploaded. 

Here is some more debugging info:
Array
(
    [cfg] => Array
        (
            [name] => 102440.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/phpQdhjY0
            [error] => 0
            [size] => 72469
        )

    [dat] => Array
        (
            [name] => 1plus1.pem
            [type] => application/x-x509-ca-cert
            [tmp_name] => /tmp/phpId9rW1
            [error] => 0
            [size] => 1692
        )

)

推荐阅读