2017-10-13 112 views
0

我知道这里有类似的问题,但我的问题是,我还没有看到有一个答案我的,我希望用户上传多张照片在一个职位,所以我的问题是我必须添加更多的行我的数据库中存储的每个文件名,如果是什么,如果我有10行,用户要上传11张照片会发生什么,我只是想知道Facebook的如何做出可能如何将多个文件上传名称保存到数据库?

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

     //do your upload stuff here 
     echo $file; 

    } 
} 

我可以上传多张照片和举措到文件夹,但我怎么能存储他们的所有名称在我的分区

+0

https://www.w3schools.com/php/php_mysql_insert.asp –

+0

我不能说话,为什么你不能添加更多的10行?,为什么是逻辑。你有困惑的列到列吗? –

+0

我会建议为你的上传创建一个不同的表格。你可以有三列:id,user,uploaded_file – hungrykoala

回答

0

这是一个例子,你可以自己调整它。

<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 

       } 
      } 
     } 
    } 
?> 

我希望它能帮助。

2

所以,如果我理解正确的,你只需要获得当前登录的用户的id d然后有一个photos表,其中至少包含照片的路径和用户的id作为外键。这样,您可以根据需要为单个用户添加尽可能多的照片。

1

这将是,就像你意识到的,一个坏主意。 您应该为照片添加其他表格。

在该表中,您将存储一张照片及其每个行中的帖子ID。你可以看看3NF

让我知道你是否需要更多帮助。

相关问题