实现可搜索、可浏览的图像库的最快速方法是flickr集成


Quickest way to implement a searchable, browsable image gallery - flickr integration?

我有一个朋友需要一个网页。他从事室内建筑,并希望有一个他的作品画廊。我可能会选择php主机,并考虑为他实现图像库的最佳方式。我想出了:

  • 使用flickr来承载图像。它们可以被标记,添加到集合中,我可以使用标记和集合信息来显示库的"类别"以及浏览。Flickr也有多种上传工具,这样一个20张照片的工作就不会是一个需要上传的PITA
  • 如何最好地使用api?有没有一个好的PHP库用于flickr集成?我应该自己滚吗
  • API密钥-这是否被视为商业项目?这个网页是他的生意,他会付钱给我创建这个网站
  • flickr是做这项工作的错误工具吗?在我看来,这似乎是一个很好的解决方案,但我缺少什么吗?我根本没有使用过他们的API

感谢您的意见!

这听起来是一种很难做的事情——你考虑过Gallery吗(这个名字没有创意!)。

除非你真的想节省带宽,否则我认为安装一些预先构建的图库会得到更好的效果。

这类事情的完美解决方案是Picasa(当然来自谷歌)

你得到:

  • 谷歌Picasaweb账户上有1gb的免费存储空间,该账户已经有了可嵌入幻灯片和其他内容的网络界面
  • 直接连接到网络相册的客户端(即Picasa)的竞争图像浏览和上传程序。它对用户非常友好,甚至你的奶奶也可以用它把她的照片放在网上
  • RSS提要和来自谷歌的API
  • 有一个自定义的轻量级PHP api可用

还需要别的吗?


Chris提醒其他可能正在寻找答案的人:API可以在这里找到。

我最近为一个客户端实现了一个基于Flickr的照片库。Flickr非常适合他们,原因有很多。Gallery是一个令人印象深刻的开源项目,但它的功能集(以及管理的复杂性)对于这个客户的需求来说太过分了。

查看Flickr API,特别是关于构建URL的部分,这在构建网页时是必要的。不要麻烦为API编写PHP包装器。phpFlickr已经做到了,这是一个聪明的实现。

以下是我编写的一个助手函数,它使需要访问Flicker:的各种页面的生活变得更加轻松

function newFlickr()
{
     static $flickr = NULL;

     if($flickr != NULL)
     {
         return $flickr;
     }
     $flickr = new phpFlickr(api-key, secret);
     $flickr->setToken(token);
     $flickr->enableCache("db", "mysql://acct:pass@localhost/flickrcache");
     return $flickr;

}

这里的诀窍是,您需要输入的所有crud都存储在代码的中心位置。缓存是关键,所以要使用它。而且,如果你需要在多个位置为每个请求创建一个phpFlickr对象,你只需要对它进行一次acto'ing,这样可以节省初始化时间。

在阅读了SchizoDuckie的文章后,我看了一眼php的picasa api,发现它一开始有点令人生畏,但我发现这个示例代码在开始一些基本集成方面非常出色。

其他语言的样本似乎也有——不能保证它们的有用性,但怀疑它们也会很好。

这些可能会有所帮助。它们是mootools脚本,运行时不需要任何服务器端编码。两者都与Flickr集成。

  • http://imago.codeboje.de/
  • http://www.moopix.org/

如果你对RubyonRails感兴趣,这里有一个屏幕截图,展示如何创建一个类似于你在RoR中描述的网站。