<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.";
}
}
}
}
?>
Asked
Active
Viewed 1,243 times
0

Brian Tompsett - 汤莱恩
- 5,753
- 72
- 57
- 129

Anwarul Kabir
- 1
- 1
-
I can't upload multiple file, please help me to update my code. – Anwarul Kabir Nov 14 '16 at 09:07
-
can u format your code nicely man – Masivuye Cokile Nov 14 '16 at 09:34
-
Possible duplicate of [PHP - Upload multiple images](http://stackoverflow.com/questions/7712715/php-upload-multiple-images) – Masivuye Cokile Nov 14 '16 at 09:35
1 Answers
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;
}

René W.
- 150
- 1
- 9