簡體   English   中英

如何將多個文件上傳名稱保存到數據庫?

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

我知道在這里有人問過類似的問題,但是我的問題是我還沒有看到能回答我的問題,我希望用戶在一張帖子上上傳多張照片,所以我的問題是我是否必須向我的行中添加更多行數據庫來存儲每個文件名,如果是的話,如果我有10行並且用戶希望上傳11張照片該怎么辦,我只是想知道Facebook如何使這成為可能

if(count($_FILES['uploads']['filesToUpload'])) {
    foreach ($_FILES['uploads']['filesToUpload'] as $file) {

        //do your upload stuff here
        echo $file;

    }
}

我可以上傳多張照片並移至文件夾,但如何將所有照片名稱存儲在數據庫中

因此,如果我理解正確,則只需獲取已登錄的當前用戶的id ,然后擁有一個photos表,該表至少包含photos的路徑和作為外鍵的用戶ID。 這樣,您可以為單個用戶添加任意​​數量的照片。

就像您意識到的那樣,這是個壞主意。 您應該為照片添加其他表格。

在該表中,每行存儲一張帶有其帖子ID的照片。

您應該看一下3NF

讓我知道您是否需要更多幫助。

這是一個示例,您只需對其進行調整即可。

<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>

PHP去(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

                }
            }
        }
    }
?>

希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM