Hi... i am trying to upload the image from the number of i choose to generate and save the image name into database. For example, i choose to generate 3 input type "file", than the 3 input will automatic generated, so i can upload it into folder and save the name into database. i have done to other type of input such as "text". but still stuck at the uploading image part. The form is look like this (if i choose to generate 3 times): This is the example of my form code:
<?php
if(isset($_POST['btn-gen-form']))
{
?>
<form method="post" action="" enctype="multipart/form-data">
<input type="hidden" name="total" value="<?php echo $_POST["no_of_rec"]; ?>"
/>
<input type="hidden" name="vendorid" value="<?php echo $id;?>">
<table class='table table-bordered'>
<tr>
<th>##</th>
<th>Name</th>
<th>Description</th>
<th>Image</th>
</tr>
<?php
for($i=1; $i<=$_POST["no_of_rec"]; $i++)
{
?>
<tr>
<td><?php echo $i; ?></td>
<td><input type="text" name="item_name<?php echo $i; ?>"
placeholder="Name" class='form-control' required/></td>
<td><input type="text" name="item_desc<?php echo $i; ?>"
placeholder="description" class='form-control' required/></td>
<td><input type='file' name="file" id="file" value=''></td>
</tr>
<?php
}
?>
<tr>
<td colspan="6">
<button type="submit" name="save_mul" class="btn btn-primary"><i
class="glyphicon glyphicon-plus"></i> Insert all Records</button>
<a href="additem.php" class="btn btn-large btn-success"> <i class="glyphicon
glyphicon-fast-backward"></i> Back to index</a>
</td>
</tr>
</table>
</form>
<?php
}
?>
and here for backend part:
<?php
include_once 'db.php';
if(isset($_POST['save_mul']))
{
$allow = array("jpg", "jpeg", "gif", "png");
$todir = '../../userhome/cartu/carti/images/';
if ( !!$_FILES['file']['tmp_name'] ) // is the file uploaded yet?
{
$info = explode('.', strtolower( $_FILES['file']['name']) ); // whats the
extension of the file
if ( in_array( end($info), $allow) ) // is this file allowed
{
$newfilename = round(microtime(true)) . '.' . end($info);
if ( move_uploaded_file( $_FILES['file']['tmp_name'], $todir
.$newfilename ) )
{
$total = $_POST['total'];
$n_img = $newfilename;
for($i=1; $i<=$total; $i++)
{
$fn6 = $_POST["vendorid"];
$fn = $_POST["item_name$i"];
$fn1 = $_POST["item_desc$i"];
$sql="INSERT INTO items(vendorid,item_name,item_desc,item_image)
VALUES('".$fn6."','".$fn."','".$fn1."','".$n_img."')";
$sql = $db->query($sql);
}
if($sql)
{
?>
<script>
alert('<?php echo $total." records was inserted !!!"; ?>');
window.location.href='additem.php';
</script>
<?php
}
else
{
?>
<script>
alert('error while inserting , TRY AGAIN');
</script>
<?php
}
}
}
else
{
echo "Invalid file"; // error this file ext is not allowed
}
}
}
?>
i am still new in web development, and dont sure if i ask silly question, but this problem i had been stuck for a long time. a had search for many forum community and mostly solved for uploaded multiple images in a input. Any sources for my reference is appreciate. Thank You.
each input file name must have different name.
<input type='file' name="file<?php echo $i; ?>" id="file<?php echo $i; ?>" value=''>
This work perfectly to me, i just added <?php echo $i>
as recomended on name of input type file and modified some arrangement on back-end as below.
<?php
include_once 'db.php';
if(isset($_POST['save_mul']))
{
$allow = array("jpg", "jpeg", "gif", "png");
$todir = '../../userhome/cartu/carti/images/';
$total = $_POST['total'];
for($i=1; $i<=$total; $i++)
{
$imgupload = $_FILES["file$i"];
if ( !!$imgupload['tmp_name'] ) // is the file uploaded yet?
{
$info = explode('.', strtolower( $imgupload['name']) ); // whats the
extension of the file
if ( in_array( end($info), $allow) ) // is this file allowed
{
if ( move_uploaded_file( $imgupload['tmp_name'], $todir
.$imgupload["name"] ) )
{
$fn6 = $_POST["vendorid"];
$fn = $_POST["item_name$i"];
$fn1 = $_POST["item_desc$i"];
$n_img = $imgupload["name"];
$sql="INSERT INTO
shopping_items(vendorid,item_name,item_desc,item_image)
VALUES('".$fn6."','".$fn."','".$fn1."','".$n_img."')";
$sql = $db->query($sql);
if($sql)
{
?>
<script>
alert('<?php echo $total." records was inserted !!!"; ?>');
window.location.href='additem.php';
</script>
<?php
}
else
{
?>
<script>
alert('error while inserting , TRY AGAIN');
</script>
<?php
}
}
}
else
{
echo "Invalid file"; // error this file ext is not allowed
}
}
}
}
?>