【发布时间】:2019-04-28 21:41:14
【问题描述】:
我有一张图片,我希望能够通过 css 对图片应用一种或多种效果(例如模糊)。我想将图像的修改版本存储到数据库中。我怎样才能做到这一点? 这是我的代码。 html:
<img src="avatar.jpg" class="blur"></img>
<button type="submit" name="uploadimg" class="btn btn-info" style="width: 90px; height: 40px; margin-top: 2%;"> <a class="upload" href=""></a>upload</button>
css:
.blur {
-webkit-filter: blur(5px);
filter: blur(5px);
}
这是我的上传脚本:
if (isset($_POST['uploadimg'])) {
$avatar = $_FILES['avatar'];
$avatar_name = $_FILES['avatar']['name'];
$avatar_tmpname = $_FILES['avatar']['tmp_name'];
$avatar_size = $_FILES['avatar']['size'];
$avatar_type = $_FILES['avatar']['type'];
$avatar_ext = pathinfo($avatar_name, PATHINFO_EXTENSION);
if (!empty($avatar_name)) {
if ($avatar_size <= 25000000) {
if ($avatar_ext == "jpg" || $avatar_ext == "jpeg" ||$avatar_ext == "png" ) {
$chars= "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$rand_dir_name = substr(str_shuffle($chars),0,15);
mkdir("uploads/$rand_dir_name");
$final_file = "uploads/$rand_dir_name/$avatar_name";
$upload = move_uploaded_file($avatar_tmpname, $final_file);
if ($upload) {
unlink("$avatar_path");
$msg = "file uploaded successfully ";
$query = "UPDATE users SET avatar_path='$final_file' WHERE id='$id'";
$fire = mysqli_query($con,$query) or die("can not insert file path into database".mysqli_error($con));
$query = "UPDATE likes SET avatar_path='$final_file' WHERE user_id='$id'";
$fire = mysqli_query($con,$query) or die("can not insert file path into database".mysqli_error($con));
$query = "UPDATE photos SET avatar_path='$final_file' WHERE uid='$id'";
$fire = mysqli_query($con,$query) or die("can not insert file path into database".mysqli_error($con));
if ($fire) {
$msg .=" and also inserted into database";
}
# code...
} else {
echo "only jpg,jpeg,png, type format allowed";
}
} else {
echo "file size is too large";
}
} else {
echo "please select an image to upload";
}
}
}
}
它将头像路径保存到数据库并将图像保存在文件夹中。但是如何保存修改后的图片呢?
【问题讨论】:
-
为什么不在重用的时候添加模糊类呢?我的意思是它是一个 css 效果,afaik 你不能像那样将它保存在数据库中。
-
如果列效果上存在数据模糊,如何为图像添加模糊类@JulesR
-
在你的html代码中,
class="blur" -
实际上我不仅使用模糊效果用户可以选择多个效果现在我想我应该将效果的值存储在数据库中如果用户选择模糊效果我应该将模糊效果保存在数据库中分配给该图像,当通过数据库输出图像时,根据它们在数据库中的效果应该改变图像的类,如果是,我可以这样做吗?请告诉我我该怎么做? @JulesR
-
好的,您应该编辑您的问题以添加不同的效果。现在假设每个效果对应一个类,你可以在db中添加一个带有类名的列,然后
echo "<img src='$img->path' class='$img->effect'>"
标签: javascript php html css