在LifeType上,我們若上傳了一張較大圖片, LifeType會自動將大圖片縮小成兩張縮圖,一張中圖、一張小圖(縮圖大小可以由管理員設定)。原圖是放在gallery/blogID/ 目錄下,中圖放在 gallery/blogID/previews-med/ ,小圖放在gallery/blogID/previews/。
在LifeType1.0、1.1版時,上傳圖片後,在gallery目錄的圖片檔名不會是原本圖片的檔名,會被改名成 blogID-XXX,例如底下的圖片
但是呢!前幾天將華龍部落格升級到LifeType1.2,但卻發現有些網誌上的縮圖不見了,原圖還在,但卻看不到縮圖,而且奇怪的是,有些圖片的縮圖不見了,但有些圖片的縮圖卻又正常,論壇上也有人反映類似問題。
怪怪怪!今晚仔細地比對了一下資料,發現問題出在哪了,這應該算是1.2版的BUG吧!
在1.2版顯示圖片的方式已改為直接連結gallery/blogID目錄下的圖片,而且圖片檔名都用原本的檔名,例如我上傳了一張名為abc.jpg的圖檔,在1.1版,上傳後的圖檔檔名會變成1-xxx.jpg,在1.2板上傳後的圖檔檔名還是維持原本的abc.jpg。
若你是由1.1版升級到1.2版,在升級的過程中,會自動將gallery目錄下原本檔名為blogID-xxx的圖檔還原成原本的檔名,例如
(blogID目錄下的原圖)
(blogID/previews目錄下的小圖)
看看上面這兩張截圖,可以發現在小圖的目錄下,有些圖片並沒有被還原成原本的檔名,還是維持原本的blogID-xxx的檔名,這就是為什麼縮圖會看不見的原因了。
那為何有些圖檔有被還原,有些卻沒有呢?
問題就出在圖檔副檔名的大小寫身上了。若是圖檔副檔名為小寫的,就可以正常還原,但若圖檔的副檔名為大寫的,在原圖的目錄下可以被還原成原本檔名,但在縮圖的目錄下(previews及previews-med)卻還是維持著1.1版原本的blogID-xxx的檔名。所以當然縮圖會不見了。
那目前的狀況下要怎麼解決縮圖不見的問題呢?
在php的函式裡有一些利用GD來直接作出縮圖的方式,但,寫程式我不會,只好以土法煉鋼的方式了。
- 將blogID目錄下那些副檔名為大寫的圖檔壓縮成一個壓縮檔後下載到自己的電腦
- 將檔案解壓縮後再用影像處理軟體將圖檔縮小成中圖及小圖(圖片大小看「全部站台管控」/「檔案中心設定」)
- 然後再將縮小好的中圖及小圖分別放進原本blogID目錄下的 previews-med 及 previews 目錄下
- 最後再將那些未成功還原成原檔名的那些blogID-xxx的圖檔刪除掉
目前就只能這樣子了,還好在華龍部落格我現在只剩下約20多個網誌未處理,繼續努力!
阿欣老師
sorry因為是新手所以還之如何找問題真是麻煩你了
現在我修改了php.ini
但卻又出現下列狀況
不知問題又出現在哪裡
再次麻煩你了
謝謝
Warning: session_start() [function.session-start]: open(C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/2\sess_352a96b684002736b536144fed767cf9, O_RDWR) failed: No such file or directory (2) in C:\AppServ\www\lifetype\class\net\http\session\sessionmanager.class.php on line 51
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\lifetype\class\net\http\session\sessionmanager.class.php:51) in C:\AppServ\www\lifetype\class\net\http\session\sessionmanager.class.php on line 51
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\lifetype\class\net\http\session\sessionmanager.class.php:51) in C:\AppServ\www\lifetype\class\view\view.class.php on line 321
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\lifetype\class\net\http\session\sessionmanager.class.php:51) in C:\AppServ\www\lifetype\class\view\view.class.php on line 175
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\lifetype\class\net\http\session\sessionmanager.class.php:51) in C:\AppServ\www\lifetype\class\view\smartyview.class.php on line 245
我沒遇過,不過我在論壇上這一篇文章找到答案了
修改一下你的 php.ini,大約在895行處,將
session.save_path = "C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp"
改成
session.save_path = " c:/tmp"
當然要先建立c:/tmp這目錄,重開Apache,看看是否OK囉!
阿欣 04/30