如何在PHP中创建循环(?)上传媒体按钮并存储到MySQL中,然后在单独的页面上显示



我是社区的新手,我正在尽我所能。我一头扎进了一些HTML和PHP编程,并且一直在使用MySQL。

问题:基本上,我正在尝试创建一个上传媒体按钮;循环";本质上允许用户上传他们想要的任意多的图像。此图像需要成功插入数据库(MySQL(,并在查询数据库时显示在单独的页面上。我会把它分解成带有图像的步骤,给每个人一个视觉效果!

  1. 图像编号1显示了"上传图像"需要的区域,当然,这并不重要,因为它在代码方面也不重要,但这就是它在用户端的样子。我正在寻找允许多个图像上传的代码,这些图像将被发送到数据库并与InspectionID(主键(相关。这是用户界面的图像,按钮将在其中。图像编号2是表单和表格的代码。当然,媒体类型只是一个替身,但不连接到数据库。可能有很多原因,但是,你知道。这就是我请求的代码将进入的位置

  2. 系统需要将图像存储在数据库中,并与InspectionID主键关联。我对MySQL的经验有限,所以我不太确定图像类型需要什么——这是我的数据库的图片,所以如果我需要在这里做任何更改,请告诉我。当前数据库表结构

  3. 最后,这是查询表的页面。图像缩略图是否显示在这里并不重要,只要它们出现在查询表格的页面上,就可以完成我的系统。这是需要显示图像或可供下载的地方

总的来说,我正在寻找三个方面的信息。创建将图像上传到数据库的循环插入按钮的代码,我需要在数据库中更改什么来接受上传的图像/显示它们,以及在表中显示图像缩略图/下载图像所需的代码。

感谢您抽出时间阅读本文!我知道我是新来的,所以我确信我犯了不少编程罪,但请耐心等待!我也是编程的新手,但我正在热切地学习——谢谢!

  1. DB最好删除字段Media,再制作一个带有图像的表。它的结构如下:ImgIdImgPath(文件名(、InspectionID。每个文件都将具有唯一的名称,该名称将在服务器上下载后给出。我们将把这个名称保存在我前面描述的Media表中。此外,我们会将每个图像与一些检查关联起来,因此我们也需要保存InspectionID
  2. HTML

<form method='post' action='' enctype='multipart/form-data'>

<input type="file" name="file[]" id="file" multiple>
<input type='submit' name='submit' value='Upload'>
</form>

使用此表单,您可以上传多个图像。

  1. PHP
<?php
$db = mysqli_connect(*some db connect*);
if(isset($_POST['submit'])){
$countfiles = count($_FILES['file']['name']);
for($i=0;$i<$countfiles;$i++){
$temp = explode(".", $_FILES["file"]["name"][$i]);
$newfilename = microtime(true)*1000 . '.' . end($temp);
move_uploaded_file($_FILES['file']['tmp_name'][$i],'upload/'.$newfilename);
mysqli_query($db, "INSERT INTO `Media`(`ImgPath`, `InspectionID`) VALUES ($newfilename, *You also need to make new row in the main table and write InspectionID to what the image relates to*)"); 
}
} 
?>

所以现在你已经上传了一些图片到你的服务器上,你需要在某个地方展示它们。

例如,您显示ID为6的检查。您可以很容易地从主表中选择数据,但图像保存在Media表中。获得它们的最简单方法是编写SELECT * FROM Media WHERE InspectionID = 6

p.S6就是一个例子,所以您需要编写您的InspectionID,它取自DB。

祝你好运!

最新更新