如何在会话中上传多个文件?

时间:2017-07-31 18:25:22

标签: php forms file-upload upload image-uploading

我正在尝试在会话中一次上传多个图像。在我的情况下,用户必须为一个“位置”上传他先前说明的确切数量的图像,并且对具有正确数量的不同图像的另一个“位置”重复该动作。不幸的是上传不起作用,我不知道为什么。我应该使用$_POST代替$_FILES,还是foreach方法不正确?这是代码:

HTML:

<?php

session_start();
include('php/uploadspec.php');
if(!isset($_SESSION['face'][$_SESSION['counter']])){
    header("Location: cuberender.php");
}

$speccount = 1;

?>

<div class="counter">

        <form method="post">
            <div class="form-group">
                <p>Please Choose all <?php echo  $_SESSION['quantity'] ?> photos for <?php echo $_SESSION['face'][$_SESSION['counter']] ?></p>
            </div>
            <div class="form-group">
                <input type="file" name="images[]" accept="image/*" multiple />
            </div>
            <div class="form-group">
                <input type="submit" name="Submit" value="Submit!" />
            </div>
        </form>

        <?php
        if (isset($_POST['Submit'])) {
            $imgamount=count($_POST['images']);
            if ($imgamount==$_SESSION['quantity']){
            uploadspec(session_id(), $speccount);
            $_SESSION['counter']++;
            header("Location: posteditor.php");
            }
        }
        ?>

PHP:

    function uploadspec($id, $speccount){
    foreach($_FILES["images"]["tmp_name"] as $image) {
        $target_file = $id . '/' .$_SESSION['face'][$_SESSION['counter']]. '/specimage'.$speccount;
        $speccount++;
        move_uploaded_file($image, $target_file);
    }
}

提前致谢!

2 个答案:

答案 0 :(得分:0)

请检查php max upload limit&amp; php max Post limit。

答案 1 :(得分:0)

通过更新php.ini文件中的Max Upload大小和Post Max大小来检查