使用PHP和MySQL上传图片可以通过以下步骤完成:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="image">
<input type="submit" value="Upload">
</form>
a. 检查上传文件是否存在并且没有错误:
if(isset($_FILES'image') && $_FILES'image' === 0) {
// 文件上传成功
} else {
// 文件上传失败
}
b. 检查上传文件的类型和大小是否符合要求:
$allowedTypes = 'image/jpeg', 'image/png';
$maxSize = 2 1024 1024; // 2MB
if(in_array($_FILES'image', $allowedTypes) && $_FILES'image' <= $maxSize) {
// 文件类型和大小符合要求
} else {
// 文件类型或大小不符合要求
}
c. 将上传的文件移动到服务器上的目标位置:
$targetDir = 'uploads/';
$targetFile = $targetDir . basename($_FILES'image');
if(move_uploaded_file($_FILES'image', $targetFile)) {
// 文件移动成功
} else {
// 文件移动失败
}
d. 将上传的文件信息保存到MySQL数据库中:
$servername = 'localhost';
$username = 'your_username';
$password = 'your_password';
$dbname = 'your_database';
$conn = new mysqli($servername, $username, $password, $dbname);
if($conn->connect_error) {
die('Connection failed: ' . $conn->connect_error);
}
$imagePath = $conn->real_escape_string($targetFile);
$sql = "INSERT INTO images (path) VALUES ('$imagePath')";
if($conn->query($sql) === true) {
// 图片信息保存成功
} else {
// 图片信息保存失败
}
$conn->close();
$servername = 'localhost';
$username = 'your_username';
$password = 'your_password';
$dbname = 'your_database';
$conn = new mysqli($servername, $username, $password, $dbname);
if($conn->connect_error) {
die('Connection failed: ' . $conn->connect_error);
}
$sql = "SELECT path FROM images";
$result = $conn->query($sql);
if($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo '<img src="' . $row['path'] . '" alt="Uploaded Image">';
}
} else {
echo 'No images found.';
}
$conn->close();
这样,用户就可以通过上传表单选择并上传图片,PHP脚本将会将图片保存到服务器上的指定目录,并将图片信息保存到MySQL数据库中。最后,用户可以在显示图片的页面上看到已上传的图片。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云