生成个人图像以用作签名

时间:2010-01-14 04:14:13

标签: php gd

我想创建一个个人形象,显示用户的最后3个项目(因此他可以用作论坛签名,但它不能像用户一样动态图像?id = 1,因为大多数论坛会阻止它) 我打算使用GD,这不是问题但是: - 在插入数据时更新图像,我只是在插入脚本中添加“更新图像”还是有更好的方法?我想在插入

的最长5到10分钟内更新图像

- 如果有500名用户正在使用此服务,是否需要从服务器获取太多资源?不是带宽,我的意思是创建图像 每个用户通常每周更新他的项目3次或更多次,而不是那么多

  • 由于它只对用户操作进行了更新,因此不会包含缓存,对吧?

谢谢

2 个答案:

答案 0 :(得分:3)

这不会是性能问题(估计每周负载 - 1500张图像 - 可以在几秒钟内生成)。您也可以仅在请求时生成图像并将其缓存...

你可以通过使用没有查询字符串的干净网址来解决论坛签名问题中的动态网址:

http://www.my.site/my/image/123

mod_alias可以在内部将其重定向到图像生成器......

答案 1 :(得分:1)

如果您不希望用户在上传时必须等待脚本更新其sig,则必须在该用户的数据库中设置一个标志,然后运行cronjob或某些此类自动脚本每5分钟左右。 cronjob可以查询数据库以查看哪些用户需要更新,然后执行更新。

如果图像名称保持不变(例如“user_15_sig.jpg”),则浏览器可以缓存图像。即使您更新了服务器上的图像,缓存该图像的用户也会看到旧图像。你可以通过在图像名称上添加一个变量(也就是“user_15_sig.jpg?temp = 123)来解决这个问题。但是因为你说你想避免对图像有任何动态上下文(即使它不会动态生成) ),你必须以某种方式更新图像名称。一种方法是在DB中有一个字段,用于保存该用户图像上次更新的时间戳,然后在保存更新版本时将时间戳附加到图像名称(又名“user_15_sig_1234567.jpg”,其中1234567是时间标记。