Reputation: 775
I am trying to upload multiple images at once here is what i've got so far:
if(isset($_POST['submit']))
{
$file_name=$_FILES["image"]["name"];
foreach($file_name as $files)
{
$target_path = "Sub_uploads/".$files;
if(move_uploaded_file($files["image"]["tmp_name"],$target_path))
{
$target_path="Sub_uploads/".$files;
$sql = "INSERT INTO product_images (image) VALUES ('$target_path')";
$query = mysql_query($sql);
}
}
echo "<script>alert('data inserted');document.location='Sub_CateGory_image.php'</script>";
}
?>
It seems so that the error occurs at this line: if(move_uploaded_file($files["image"]["tmp_name"],$target_path))
Upvotes: 0
Views: 48
Reputation: 1966
You need to use variable of ForEach
$files
if(isset($_POST['submit']))
{
$file_name=$_FILES;
foreach($file_name as $files)
{
$target_path = "Sub_uploads/".$files["image"]["name"];
if(move_uploaded_file($files["image"]["tmp_name"],$target_path))
{
$target_path="Sub_uploads/".$files["image"]["name"];
$sql = "INSERT INTO product_images (image) VALUES ('$target_path')";
$query = mysql_query($sql);
}
}
echo "<script>alert('data inserted');document.location='Sub_CateGory_image.php'</script>";
}
Upvotes: 1
Reputation: 54796
As you iterate over array of name
, the connected tmp_name
property will have the same key as current iterated name
. So, add a key
to your foreach
and get a tmp_name
under this key:
$file_name = $_FILES["image"]["name"];
foreach($file_name as $key => $files) // add `$key` here
{
$target_path = "Sub_uploads/".$files;
// use `$key` to get connected `tmp_name`
if(move_uploaded_file($_FILES["image"]["tmp_name"][$key], $target_path))
{
$target_path="Sub_uploads/".$files;
$sql = "INSERT INTO product_images (image) VALUES ('$target_path')";
$query = mysql_query($sql);
}
}
Upvotes: 0