简体   繁体   中英

How can i save multiple file upload name to a database?

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

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.

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.

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM