我正在将 PHP 与 MYSQL 一起使用,并希望添加一个功能来上传个人资料图像。如果用户尚未上传他的图像,我想显示默认图像。我已将数据库的配置文件图像字段声明为 BLOB。在这种情况下,我没有选择直接通过数据库放置默认图像。请帮忙 !!
问问题
295 次
3 回答
3
在您的代码中处理它。无需将相同的图像复制到每个用户的数据库字段中。
if (!$user['image']) {
// output default image
} else {
// output $user['image']
}
实际上,您应该首先将图像存储在数据库之外。
于 2012-08-16T08:48:30.800 回答
2
与其存储相同的 blob 图像可能数千/数百万次,不如让您的 PHP 代码做一些检查 - 如果该字段为空,请将其指向文件系统上某个用于它们的文件。如果那里有数据,则使用用户数据行中的图像。
在那一点上,您实际上不能为 blob 分配默认值。
但是,您可以这样做:在数据库中创建第二个表并将 blob 插入其中。然后在您正在使用的表上创建一个on insert
触发器,插入完成后,使用如下内容:
UPDATE BLOB_table SET BLOB_field = (select defaultBlob from othertableName);
但话虽如此,浪费可能数百万行 blob 应该会让你畏缩。如果在行中找不到 blob,请检查您的 PHP 代码并指定一个默认值。
于 2012-08-16T08:47:07.840 回答
0
我的应用程序中有类似的功能。如果没有上传图片,我将重定向返回到默认图片:
if (mysql_num_rows($data) == 0) {
header("Location: $default_image_url");
} else {
// Code to output image
}
于 2012-08-16T08:50:49.493 回答