【问题标题】:How to improve this wallpaper gallery?如何改进这个壁纸库?
【发布时间】:2011-02-04 07:48:37
【问题描述】:

画廊 - http://schnell.dreamhosters.com/wallpapers.php

这个画廊的目的很简单 - 存储大量壁纸并按分辨率和/或纵横比对它们进行排序,供人们随意浏览和下载。有一些我想使用的功能,但我不太确定如何最好地完成它们,或者根本不知道如何去做。演示文稿采用 HTML 4、CSS、Javascript 和 jQuery + 插件。幕后工作是用 PHP 完成的。

1 - 无需“将图像另存为...”即可下载图像。现在,我正在使用一种装置,单击每个图像框右下角的“下载”链接会打开一个新框,其中包含告诉用户“右键单击”的说明。将图像另存为...'。如果可能的话,我想完全避免这种情况。

2 - 使搜索和排序更快更高效。现在所有图像都存储在我的网站空间的一个文件夹中,我使用 shell 命令和 PHP 中的许多花哨的过滤来根据过滤器(我所在的页码和纵横比或我选择的分辨率)。我想也许可以用 MySQL 做点什么,但我还没有完全弄清楚如何做到这一点并维护我的页面的结构。

3 - 使图像加载更快。对此可能没有简单的编码解决方案,所以这个更像是“我希望”而不是“我想要”。

4 - 改进布局。我想这个更主观和“艺术”,但任何建议都会很好。

5 - 上传系统。允许上传您自己的壁纸,并可能包含简短描述或一些标签。我完全不知道如何处理这个问题,因为我以前从未上传过文件。而这也导致...

6 - 标记系统或其他类型的用户制作的分类系统。同样,这里没有经验。

对这些问题的任何见解都会很棒,并随时提出您自己的任何建议。

【问题讨论】:

  • 也许你可以和其他网站比较一下

标签: php jquery html web image-gallery


【解决方案1】:
  1. 发送 MIME 类型为“application/octet-stream”的文件以进行浏览器下载而不是显示它们

  2. 将有关图像的信息存储在数据库中肯定比探索文件系统更好

  3. 图像加载速度对我来说确实不是很慢,所以我不能在这里提出任何建议。如果您的网站变得更大(更大),您可能需要查看 CDN

  4. 布局还可以,但需要一些设计,目前它非常简单。也很高兴看到有关图像的更多信息 - 它们是什么,它们来自哪里,谁制作它们等等(不要忘记:正确的版权归属)

  5. 您可能想阅读the PHP handbook section on handling file uploads。要处理描述和标签,您肯定需要某种数据库。

  6. 如果您有正确格式的数据库,也并不难。如果您之前从未设计过模式,那么您可能想了解一些关于规范化和多对多关系来做标记的知识。

最后,您并没有要求它,但如果可以在多个分辨率下拥有相同的图像,那就太好了(在图像网站上很常见 - 想想 Flickr、Deviantart 等)。

【讨论】:

  • 感谢您的建议。当您说“发送”文件时,您是什么意思以及如何更改 MIME 类型?此外,为了在法律上安全起见,我已经将壁纸集合中的任何带有版权文本的图像都擦掉了。当然,这并不意味着其他人没有版权,但主要问题是我或多或少的所有这些壁纸都是朋友从 USB 驱动器上提供的,我不知道它们来自哪里。如果我扩展到用户提交模型,那么是的,该信息肯定是可用的(如果用户添加它)。
  • 更改 MIME 类型的简单方法是通过适当设置 Content-Type 标头的 PHP 脚本发送文件内容,或者将其移交给 Web 服务器的更快方法。您可以执行一些魔术,因此 GET /images/01.jpg?asdownload 提供二进制文件的 MIME 类型,而 GET /images/01.jpg 发送正常的 JPEG MIME 类型 (image/jpeg),或者 /download/01 .jpg 用于下载和 /images/01.jpg 用于查看...有很多方法可以做到这一点。顺便说一句,如果您想找到任意图像的来源,tineye.com 会很有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多