PHP上传图像并与数据库一起显示(错误)
在PHP中,上传图像并将其与数据库一起显示是一个常见的需求。下面是一个示例代码,展示了如何实现这个功能:
<form>
元素和<input type="file">
来实现。<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="image">
<input type="submit" value="上传">
</form>
move_uploaded_file()
函数将图像文件移动到服务器上的指定位置。<?php
if ($_FILES['image']['error'] === UPLOAD_ERR_OK) {
$tmp_name = $_FILES['image']['tmp_name'];
$name = $_FILES['image']['name'];
move_uploaded_file($tmp_name, 'uploads/' . $name);
echo '图像上传成功!';
} else {
echo '图像上传失败!';
}
?>
CREATE TABLE images (
id INT AUTO_INCREMENT PRIMARY KEY,
filename VARCHAR(255) NOT NULL,
filepath VARCHAR(255) NOT NULL
);
<?php
if ($_FILES['image']['error'] === UPLOAD_ERR_OK) {
$tmp_name = $_FILES['image']['tmp_name'];
$name = $_FILES['image']['name'];
move_uploaded_file($tmp_name, 'uploads/' . $name);
// 将图像文件信息插入数据库
$filename = $name;
$filepath = 'uploads/' . $name;
$conn = new mysqli('数据库主机', '用户名', '密码', '数据库名');
$stmt = $conn->prepare('INSERT INTO images (filename, filepath) VALUES (?, ?)');
$stmt->bind_param('ss', $filename, $filepath);
$stmt->execute();
echo '图像上传成功!';
} else {
echo '图像上传失败!';
}
?>
<?php
$conn = new mysqli('数据库主机', '用户名', '密码', '数据库名');
$result = $conn->query('SELECT * FROM images');
while ($row = $result->fetch_assoc()) {
echo '<img src="' . $row['filepath'] . '" alt="' . $row['filename'] . '">';
}
$conn->close();
?>
这样,当用户上传图像后,图像文件将被保存到服务器上的指定位置,并将相关信息存储到数据库中。在显示图像时,可以从数据库中检索图像文件路径,并将其作为<img>
元素的src
属性值。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云