0
    <form action="upload.php" method="post" enctype="multipart/form-data">
        <table border="0">
          <tr>
            <td>Select to upload:</td>
          </tr>
          <tr>
            <td>Image *</td>
            <td>File *</td>
            <td>File 1 *</td>
            <td>File 2 *</td>
            <td>File 3</td>
            <td>File 4</td>
          </tr>
          <tr>
            <td><input type="file" name="image" multiple="multiple" ></td>
            <td><input type="file" name="file1" multiple="multiple" ></td>
            <td><input type="file" name="file2" multiple="multiple" ></td>
            <td><input type="file" name="file3" multiple="multiple" ></td>
            <td><input type="file" name="file4" multiple="multiple" ></td>
            <td><input type="file" name="file5" multiple="multiple" ></td>
          </tr>
          <tr>
            <i class="glyphicon glyphicon-upload">
                <td><input type="submit" value="Start Upload" name="submit"></td>
            </i>
          </tr>
        </table>
    </form>  // Closes the new window.

    <?php
    include "dbConfig.php";
    session_start();
    if($_SESSION['username'] == ''){
        header('Location: user.php');
    }
    if(isset($_POST["submit"])) {
        $target_dir = "uploads/";
        $target_image = $target_dir . ($_SESSION['username'].'_'.basename($_FILES["image"]["name"]));
        $target_file1 = $target_dir . ($_SESSION['username'].'_'.basename($_FILES["file1"]["name"]));
        $target_file2 = $target_dir . ($_SESSION['username'].'_'.basename($_FILES["file2"]["name"]));
        $target_file3 = $target_dir . ($_SESSION['username'].'_'.basename($_FILES["file3"]["name"]));
        $target_file4 = $target_dir . ($_SESSION['username'].'_'.basename($_FILES["file4"]["name"]));
        $target_file5 = $target_dir . ($_SESSION['username'].'_'.basename($_FILES["file5"]["name"]));

        $uploadOk = 1;
        $imageFileType = pathinfo($target_image,PATHINFO_EXTENSION);


        if ($_FILES["image"]["size"] == 0 || $_FILES["file1"]["size"] == 0 ||$_FILES["file2"]["size"] == 0 || $_FILES["file3"]["size"] == 0) {
            echo "You Must upload Fist 4 files <br>";
            $uploadOk = 0;}
else{
            if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
            && $imageFileType != "gif" ) {
                echo "<center><h2>Sorry, only JPG, JPEG, PNG & GIF files are allowed for Image.<br></center></h2>";
                $uploadOk = 0;
            }
            if ($uploadOk == 0) {
                echo "<center><h2>Sorry, your file was not uploaded.</center></h2>";
            } else {
                if (move_uploaded_file($_FILES["image"]["tmp_name"], $target_image) && move_uploaded_file($_FILES["file1"]["tmp_name"], $target_file1) && move_uploaded_file($_FILES["file2"]["tmp_name"], $target_file2) && move_uploaded_file($_FILES["file3"]["tmp_name"], $target_file3)) {

                    $img = $_SESSION['username']."_".basename( $_FILES["image"]["name"]);
                    $file1 = $_SESSION['username']."_".basename( $_FILES["file1"]["name"]);
                    $file2 = $_SESSION['username']."_".basename( $_FILES["file2"]["name"]);
                    $file3 = $_SESSION['username']."_".basename( $_FILES["file3"]["name"]);
                    if($_FILES["file4"]["size"] == 0){
                            $file4 = '';
                    }else{
                            move_uploaded_file($_FILES["file4"]["tmp_name"], $target_file4);
                            $file4 = $_SESSION['username']."_".basename( $_FILES["file4"]["name"]);
                    }
                    if($_FILES["file5"]["size"] == 0){
                            $file5 = '';
                    }else{
                            move_uploaded_file($_FILES["file5"]["tmp_name"], $target_file5);
                            $file5 = $_SESSION['username']."_".basename( $_FILES["file5"]["name"]);
                    }
                    $sql = "INSERT INTO user_data(name, image, file1, file2, file3, file4, file5) VALUES ('".$_SESSION['username']."','".$img."','".$file1."','".$file2."','".$file3."','".$file4."','".$file5."')";
                    $query = mysql_query($sql);
                    echo "The file has been uploaded.";

                } else {
                    echo "Sorry, there was an error uploading your file.";
                }
            }
        }
    }
    ?>
3
  • I can't upload multiple file, please help me to update my code. Commented Nov 14, 2016 at 9:07
  • can u format your code nicely man Commented Nov 14, 2016 at 9:34
  • Possible duplicate of PHP - Upload multiple images Commented Nov 14, 2016 at 9:35

1 Answer 1

0

I suggest to use a function / loop to upload all Files to the directory. The answer is yet unchecked for typos - maybe you look through it and test if it will fit.

if (count($_FILES) > 0)
{
    // initialize check and Error output
    $ok = true;
    $_SERVER['error_message'] = '';

    // check count of uploads is ok
    if (count($_FILES) != 6 || !in_array(array_keys($_FILES), 'image'))
    {
        $_SERVER['error_message'] .= 'too few files uploaded<br />';
        $ok = false;
    }

    // if still ok check all uploads
    if ($ok) foreach ($_FILES as $name => $myFile)
    {
        // keep false so $ok &&
        $ok = $ok && checkfile($name, $myFile)
    }

    // if still ok upload all files
    if ($ok) foreach ($_FILES as $name => $myFile)
    {
        // No need for basename as the name will only be the filename (the path is not submitted by uploading a file - maybe to check php reference if it is )
        move_uploaded_file($myFile["tmp_name"], 'uploads/'.$_SESSION['username'].'_'.$myFile["name"]);
    }
}
function checkfile($name, $myFile)
{
    // check general uploaderrors
    switch ($myFile['error'])
    {
        case UPLOAD_ERR_OK:
    break;
        case UPLOAD_ERR_NO_FILE:
            $_SERVER['error_message'] .= $name . ' contains no file<br />';
            return false;
    break;
        case UPLOAD_ERR_INI_SIZE:
        case UPLOAD_ERR_FORM_SIZE:
            $_SERVER['error_message'] .= $name . ' exceeded filesize<br />';
            return false;
    break;
        default:
            $_SERVER['error_message'] .= $name . ' unknown errors in fileupload<br />';
            return false;
    break;
    }

    // check minimum filesize (here 0)
    if ($myFile['size'] <= 0) $_SERVER['error_message'] .= $name . ' need to be larger than 0 bytes<br />';

    // check each filetype and "unknown" uploads like having a otherfile25 that is not expected from the form
    switch ($name)
    {
        case 'image':
            if (!in_array(substr($myFile['name'], -4), array('.png', '.jpg'))
            {
                $_SERVER['error_message'] .= $name . ' need to a png or jpg image<br />';
                return false;
            }
    break;
        case 'file1':
        case 'file2':
        case 'file3':
        case 'file4':
        case 'file5':
            if (!in_array(substr($myFile['name'], -4), array('.xls'))
            {
                $_SERVER['error_message'] .= $name . ' need to a xls file<br />';
                return false;
            }
    break;
        default:
            $_SERVER['error_message'] .= 'unknown file ' . $name . '<br />';
            return false;
    break;
    }
    return true;
}
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.