以下是我创建的以下脚本。首先是允许选择要显示的图像的表单。第二是显示页面。我的问题是如何使用php中的数据库/表格从我的表单中显示图像?我只想显示使用选择文件格式选择的单个图像。
<!DOCTYPE html>
<html>
<body>
<form action="display.php" method="post" enctype="multipart/form-data">
Select image to display:
<input type="file" name="fileToDisplay" id="fileToDisplay">
<input type="submit" value="Display Image" name="submit">
</form>
</body>
</html>
这是第二个脚本
<?php
$db = mysqli_connect("localhost","root", "", "myDB");
$sql = "SELECT * FROM images";
$result = mysqli_query($db, $sql);
while ($row = mysqli_fetch_array($result)){
echo "<img src=' images/". $row['image']."' >";
echo "<p>". $row['text']."</p>";
echo "</div>";
}
答案 0 :(得分:0)
最简单的方法是将图像上传到服务器并将图像名称保存在数据库中。
将图像上传到服务器并保存到数据库
// display.php
$tmp_file = $_FILES['fileToDisplay']['tmp_name']; // get the temp name of the image
$name = $_FILES['fileToDisplay']['name']; // get the name of the image
现在您需要使用move_uploaded_file()将文件移动到服务器上的目录中,并将文件名保存在数据库中。
move_uploaded_file($tmp_file, 'images/' . $name)
$remove_extension = explode('.', $name);
$sql = "INSERT INTO `images`(`image`, `text`) VALUES ('$name', '$remove_extension[0]')";
完整代码
// display.php
$tmp_file = $_FILES['fileToDisplay']['tmp_name'];
$name = $_FILES['fileToDisplay']['name'];
if (move_uploaded_file($tmp_file, 'images/' . $name)) {
$remove_extension = explode('.', $name);
$sql = "INSERT INTO `images`(`image`, `text`) VALUES ('$name', '$remove_extension[0]')";
if (mysqli_query($db, $sql)) {
$last_id = $db->insert_id;
$sql = "SELECT * FROM images WHERE id = $last_id";
$result = mysqli_query($db, $sql);
while ($row = mysqli_fetch_array($result)){
echo "<div><img src=' images/". $row['image']."' >";
echo "<p>". $row['text']."</p>";
echo "</div>";
}
}
}