搭建了一個圖片庫

阮一峰發表於2010-03-09

經常有讀者抱怨,看不到網誌中的圖片。

確實如此。正常情況下,過去文章中的圖片,超過60%都無法在國內正常顯示。

搭建了一個圖片庫

但是,事實上,這個網誌的所有圖片連結都是有效的,沒有一個連結是壞的。無法顯示只是因為被遮蔽了,只要你不在中國大陸,所有圖片都能看到。

最早的時候,我使用Flickr存放圖片。但是2007年,Flickr被遮蔽了。

搭建了一個圖片庫

後來,我改用Picasa存放圖片。2009年,Picasa也被遮蔽了。

搭建了一個圖片庫

我又改用Photobucket。2010年1月,Photobucket也被遮蔽了。

搭建了一個圖片庫

怎麼辦?再換一個地方流浪,還是使用國內的圖片儲存服務?

我覺得,任何可以免費存放圖片的國外服務商,都有可能被遮蔽;而國內的圖片服務商,我真的信不過。比如,國內某網站的使用協議寫明,他們可以隨時無條件刪除你的圖片,並且不允許上傳任何有性意味的圖片。

所以,我最後決定,自己搭一個圖片庫,把圖片都存在自己的主機上。

搭建了一個圖片庫

我的思路很簡單,先搭建一個開源相簿程式,然後修改成Flickr那樣就行了。

一開始,我裝的是Movable Type。畢竟這是每天用的程式,我最熟悉了。但是,我很快發現,它不可能改成相簿。MT的長處是生成靜態網頁,而相簿需要的是動態顯示,兩者根本無法融合。另一方面,MT的開發現在很不景氣,第三方外掛極少,甚至連ajax上傳按鈕都沒有,必須花20美元購買商業外掛,否則檔案只能一個個上傳。我只好放棄它了。

改用WordPress以後,我又遇到了另一個問題,那就是外掛太多了。WP的相簿外掛足有幾十種之多,我不知道該如何選擇。有一個NextGEN Gallery外掛的下載人數最多,我就選了它。結果發現,這個外掛實在是太優秀了,專業圖片網站的功能,它幾乎都能實現,而且做得非常易用漂亮。如果你也想搭一個自己的相簿,我強烈推薦這個外掛。

最後,我搭建完成的圖片庫網址是http://image.beekka.com,歡迎檢視效果。這篇文章裡的圖片,都是來自那裡。因為相簿只供我個人使用,所以做得比較粗糙,但是我想要的功能都做到了。

NextGEN Gallery的詳細使用說明,請參見David Potter的長篇介紹。我修改的地方,其實只有2個檔案。

  1. 在"Options/Gallery"中的"Show ImageBrowser"選項打勾。

  2. 修改外掛中的gallery.php檔案。

  3. 修改外掛中的imagebrowser.php檔案。

所有的圖片資訊,基本上都包含在$image這個物件變數中。使用<?php var_dump($image) ?>檢視變數,使用<?php echo $image->filename ?>輸出變數值(比如例子中的圖片檔名)。

當然,這個圖片庫也不一定安全,照樣有可能被遮蔽。但是,至少一切都在我的控制之中。萬一被遮蔽了,只要對圖片儲存目錄打包壓縮,然後換一臺主機解開壓縮包就行了。

我感到,這個圖片儲存的解決方案有推廣意義,值得其他網誌作者考慮。

(完)

相關文章