头像:默认图片

时间:2012-05-17 16:07:57

标签: php html

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

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

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

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

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

我知道我可以使用数据库(默认值)或检查用户图像是否已设置等来实现此目的但我希望尽可能简单。

提前致谢:)

3 个答案:

答案 0 :(得分: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');

答案 1 :(得分:1)

检查文件系统上是否存在用户的个人资料图片:

  • 如果存在:显示它。
  • 如果不是:显示存储在一个地方的默认图像。无需复制它。

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

答案 2 :(得分:1)

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

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

  2. 在此过程中进行验证,以确定是否有要上传的图像。此外,如果进程中有文件,请验证它的扩展名(声明和包含您要允许的扩展名的数组,并与incomming文件进行比较)。

  3. 如果正在注册的用户未上传图像,请在服务器中创建默认图像,例如:“users / default.jpg”。因此,在插入数据库中,您必须输入虚构的“image_name”列:default并在“image_ext”列中:.jpg

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

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