0

我想为我的用户制作一个简单的头像系统。

用法很简单,每张上传的头像都由用户命名,例如:

<a>...$username.'.jpg';..</a>

所以真的不需要数据库。当用户登录时,我只需将文件类型附加到已经(来自数据库)所需的用户名。

我关心的是默认图像,它在用户设置自己的图像之前使用。处理这个问题的最佳方法是什么?创建用户帐户时,是否可以创建/复制默认图像到用户头像文件夹?

我知道我可以使用数据库(默认值)或检查是否设置了用户图像等来实现这一点,但我想让它尽可能简单。

提前致谢 :)

4

3 回答 3

1

文件将做什么的非常简单的示例。我建议当然让它更安全。

$filename = $_GET["avatar"];
$path = 'path/to/your/files';
if (!file_exists($path.$filename.'.jpg'))
{
   $filename = "default";
}
Header('Content-type: image/jpg');
readfile($path.$filename.'.jpg');
于 2012-05-17T16:16:03.810 回答
1

检查文件系统上是否存在用户的头像:

  • 如果存在:显示它。
  • 如果不是:显示存储在一个位置的默认图像。不需要复制它。

我建议将图像名称保存在数据库中,扩展名为. 人们可能想要上传 PNG 或 GIF 图像,而不是经典的 JPG。

于 2012-05-17T16:16:06.080 回答
1

您尝试做的一个简单示例可能是...

  1. 当用户在您的网站上注册时,他或她可以上传或不上传图片。

  2. 在此过程中进行验证以了解是否有要上传的图像。此外,如果进程中有一个文件,请验证它的扩展名(使用您想要允许的扩展名声明和数组,并与传入文件进行比较)。

  3. 如果正在注册的用户没有上传图片,请在您的服务器中创建一个默认图片,例如:“users/default.jpg”。因此,在插入到您的数据库中,您必须放入您想象的“image_name”列:默认值和您的“image_ext”列:.jpg

  4. 如果正在注册的用户在此过程中上传图像,则在您的服务器中(当您验证扩展名和大小时)创建例如:“users/1.jpg”,其中“1”是用户 ID,并且也在您的插入中数据库放入您想象的“image_name”列:1 和您的“image_ext”列:.jpg

  5. 要检索图像,只需执行一种select * from您想要的用户 ID,然后输入您的 html:echo "<img src='users/".$row['image_name'].$row['image_ext']."'/>";就这样,您就完成了。

于 2012-05-17T16:31:40.160 回答