Reputation: 61
i know similar question have been asked here but my problem is that i have not seen the one that has an answer to my,i want users to upload multiple photos on one post,so my problem is do i have to add more rows to my database to store each file name and if so what if i have 10 rows and user wish to upload 11 photos what will happen,am just wondering how facebook made that possible
if(count($_FILES['uploads']['filesToUpload'])) {
foreach ($_FILES['uploads']['filesToUpload'] as $file) {
//do your upload stuff here
echo $file;
}
}
i can upload multiple photos and move to folder but how can i store all their names in my db
Upvotes: 0
Views: 1367
Reputation: 317
This would be, like you realised, a bad idea. You should add an other table for the photos.
In that table, you store one photo with it's post id in each row.
You should take a look at 3NF.
Let me know if you need more help.
Upvotes: 1
Reputation:
This is an example, you just adapt it for yourself.
<form action="file_reciever.php" enctype="multipart/form-data" method="post">
<input type="file" name="files[]" multiple/>
<input type="submit" name="submission" value="Upload"/>
</form>
the PHP goes (file_reciever.php):
<?php
if (isset($_POST['submission'] && $_POST['submission'] != null) {
for ($i = 0; $i < count($_FILES['files']['name']); $i++) {
//Get the temp file path
$tmpFilePath = $_FILES['files']['tmp_name'][$i];
//Make sure we have a filepath
if ($tmpFilePath != "") {
//Setup our new file path
$newFilePath = "./uploadFiles/" . $_FILES['files']['name'][$i];
//Upload the file into the temp dir
if (move_uploaded_file($tmpFilePath, $newFilePath)) {
//Handle other code here
}
}
}
}
?>
I hope it helps.
Upvotes: 0
Reputation: 155
So if i'm understanding right, you just have to get the id
of the current user that is logged in and then have a photos
table which contain at least a path of the photo and the id of the user as foreign key. this way you can add as many photo's for a single user as you want.
Upvotes: 2