gpt4 book ai didi

php - 使用 MySQL 和 PHP 的个人帖子/文章的图像

转载 作者:行者123 更新时间:2023-11-29 03:11:34 24 4
gpt4 key购买 nike

我有一个基于成员(member)的网站,我已经建立了一个系统,注册用户可以在其中提交评论。这些使用 PHP 提交到 MySQL 数据库,然后在评论页面上查询,如 review.php?id=246。但是,我希望用户能够上传图像,将图像存储在服务器上的文件夹中,将文件名存储在 MySQL 数据库中,然后在我的 review.php 页面上为每个单独的图像查询所有内容。我该怎么做?

提前谢谢大家!

最佳答案

假设您有一个包含列 id、review_id、img 的表。 id 列也必须自动递增 int。创建以下文件夹:photos,其中包括名为 original 和 resized 的文件夹。

下面的代码将调整图像大小,保存原始图像和调整大小后的图像,并将其地址设置到数据库表中。我希望它对你有用

<?php
/* DB connection*/
require 'db.php';
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}


/*registration sheck*/
$submit=$db->real_escape_string( $_POST['submit']);
$review=$db->real_escape_string($_POST['review']);

function createThumb($upfile, $dstfile, $max_width, $max_height){
$size = getimagesize($upfile);
$width = $size[0];
$height = $size[1];
$x_ratio = $max_width / $width;
$y_ratio = $max_height / $height;
if( ($width <= $max_width) && ($height <= $max_height)) {
$tn_width = $width;
$tn_height = $height;
} elseif (($x_ratio * $height) < $max_height) {
$tn_height = ceil($x_ratio * $height);
$tn_width = $max_width;
} else {
$tn_width = ceil($y_ratio * $width);
$tn_height = $max_height;
}
if($size['mime'] == "image/jpeg"){
$src = ImageCreateFromJpeg($upfile);
$dst = ImageCreateTrueColor($tn_width, $tn_height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $tn_width, $tn_height,$width, $height);
imageinterlace( $dst, true);
ImageJpeg($dst, $dstfile, 100);
} else if ($size['mime'] == "image/png"){
$src = ImageCreateFrompng($upfile);
$dst = ImageCreateTrueColor($tn_width, $tn_height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $tn_width, $tn_height,$width, $height);
Imagepng($dst, $dstfile);

} else {

$src = ImageCreateFromGif($upfile);
$dst = ImageCreateTrueColor($tn_width, $tn_height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $tn_width, $tn_height,$width, $height);
imagegif($dst, $dstfile);
}
}



if($submit){

$result = $db->query("INSERT INTO reviews (`review_id`) VALUE '$review'") or die($db->error));

$review_id = $db->insert_id;
if(isset($_FILES['upload_Image']['name']) && $_FILES['upload_Image']['name']!=='') {
$ext = substr($_FILES['upload_Image']['name'], strpos($_FILES['upload_Image']['name'],'.'), strlen($_FILES['upload_Image']['name'])-1);

$imgNormal = 'img'.$new_user_id.$ext;
$normalDestination = "photos/original/" . $imgNormal;
$httprootmedium = "photos/resized/" . $imgNormal;
move_uploaded_file($_FILES['upload_Image']['tmp_name'], $normalDestination);
createThumb($normalDestination,$httprootmedium,200,300); #For 500x300 Image
}

$result = $db->query("UPDATE review SET img='$imgNormal' WHERE id='$review_id'") or
?>

关于php - 使用 MySQL 和 PHP 的个人帖子/文章的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7538068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com