請教各位先進
關於檔案中文檔名上船的問題我已經有改好了,也就是可以正常上傳、下載、刪除中文或英文檔案。
但是上傳中文檔名的"圖片"好像會有一點瑕疵,如附件這個位置如果上傳圖片經過我修改的程式碼不會有錯誤,確實有將圖片上傳到SERVER上,而且是中文的,也可以直接下載,但是如果我有開啟預覽視窗就會出現X,也就是無法預覽圖片,我確定是中文檔名圖片的問題,而且發現如果是中文檔名的圖片可以上傳到Server的路徑但是在Server的\default\files\styles\thumbnail路徑卻不會有縮圖,所以才會導致沒有預覽圖片,因為PHP實在不太好Debug所以我只好一行一行去看file.inc、image.module這兩個檔案,但是都沒有找到問題的所在,雖然還是可以正常使用(只要不要開啟預覽畫面就好),但總是有點不甘心,希望有好心人士可以指點迷津,謝謝。
補充一下:
環境為Drupal 7.12
Windows 7 64 bit
Re: 上傳"圖片"中文檔名問題
這是什麼意思 ??
D7.12 基本上能處理中文
http://drupaltaiwan.org/forum/20120202/6084#comment-20402
thumbnail 是即時產生, 我想到的可能性:
- 伺服器處理 UTF8 URL 問題
- 同上, 但出在瀏覽器身上
- 你自己的修改出錯
...
Re: 上傳"圖片"中文檔名問題
Kay大大你好
我想我應該沒有修改錯誤,thumbnail 是即時產生沒錯,所以英文檔名時都可以正常,甚至我有修改成用有括號的中文檔名也可以正常,例如:(測試).jpg,都可以正常,除了圖片之外所有"檔案"格式的上傳如果有中文檔名也都沒問題,那是因為檔案沒有"預覽"個功能,所以只有圖片上傳會有這狀況,或許有可能是伺服器處理 UTF8 URL 問題,只不過理論上應該有解,但我一職找不到相對應的code所以無從修改,希望大家多幫忙囉~
還有就是這問題無論IE或Firefox都一樣,應該不是單純瀏覽器相容性的問題。
Re: 上傳"圖片"中文檔名問題
D7.12 沒有修改版也有錯 ??
Re: 上傳"圖片"中文檔名問題
是滴~~
還是說你們不會有問題呢?能否參考看看你們的file.inc因為我完全不改的情況是一定會有問題的。
除非是用Translator模組才會正常,但那不是我要的結果,因為那只是翻譯而已。
Re: 上傳"圖片"中文檔名問題
確定一下:
- 沒有修改情況下 (D7.12), 是不能上傳,還是沒有 thumbnail ??
- 使用 Apache ??
- 同一張圖片,英文名可以,但中文不能 ??
在這裏 Debug 看看
function image_style_deliver($style, $scheme) {
// Check that the style is defined and the scheme is valid.
if (!$style || !file_stream_wrapper_valid_scheme($scheme)) {
drupal_exit();
}
$args = func_get_args();
print '
';
die();
Re: 上傳"圖片"中文檔名問題
我來試試看,在此之前可能是我說的不夠詳細,再說明一下並附上更明確的圖片提供參考。
首先手動修改完file.inc檔之後無論是"檔案"或"圖片"都可以上傳到SERVER(如附件1),差別只在於"中文圖片"上傳後的"預覽"畫面會無法顯示(如附件2),"英文圖片"則會正常顯示"預覽"畫面(如附件1),所以不是不能上傳而是"中文圖"上傳完之後無法預覽縮圖,縮圖的位置是放在default\files\styles\thumbnail\裡面上傳完畢之後這裡並不會有圖片,因為就如同Kay所說是即時產生,也就是要執行縮圖的網址路徑才會default\files\styles\thumbnail\裡面產生縮圖(如附件3),但中文檔名圖片就無法正常辨識檔名所以會像(附件4)這樣。
Re: 上傳"圖片"中文檔名問題
Dear Kay大大
使用未修改過的Drupal 7.12來上傳圖片,如果是中文檔名就會出現附件的錯誤訊息
因為這裡就出現錯誤所以還沒有跑到image.module裡。
Re: 上傳"圖片"中文檔名問題
像我:就把他給利用更名模組給他轉成英文拼音檔名,一勞永逸。
Re: 上傳"圖片"中文檔名問題
http://drupal.org/project/transliteration
Re: 上傳"圖片"中文檔名問題
Dear Amouro、Mark兩位大大
感謝您提供的資訊,我純粹因為不想使用transliteration模組來做翻譯轉換所以才希望能解決此問題
transliteration是Drupal 7最佳的解決方案了,但這樣下載下來的檔名就不會是中文的,目前我還在針對Drupal 7本身上傳模組(就是我PO文的這問題)找解決方案,並同時在解決IMCE模組的圖片上傳"中文檔名"辨識問題。
兩種方法都有解決80%但都仍然有缺陷,所以還在努力中,如果大家有什麼建議再麻煩提供囉,謝謝。
Re: 上傳"圖片"中文檔名問題
原來你在挑戰啊!真是抱歉....
Re: 上傳"圖片"中文檔名問題
奇怪.....
距離上次做測試是 Drupal & Windows 是 D.7.12 Dev 版,
現在真的不行了...
Re: 上傳"圖片"中文檔名問題
恩恩對啊,我還以為只有我會這樣,原來是大家沒發現,而且現在的IMCE模組如果要上傳中文檔名的圖片也很麻煩,雖然我已經改成可以正常用IMCE上傳中文檔名圖片,但還會有其他問題正在研究,不過這是另外一個議題啦,總覺得很多瓶頸....
Re: 上傳"圖片"中文檔名問題
看來是我記憶出錯了 ><" 抱歉抱歉 !!
你現在是用 ICONV 的方法嗎 ??
function image_style_deliver($style, $scheme) {
// Check that the style is defined and the scheme is valid.
if (!$style || !file_stream_wrapper_valid_scheme($scheme)) {
drupal_exit();
}
$args = func_get_args();
array_shift($args);
array_shift($args);
$target = implode('/', $args);
$target = iconv("utf-8", "big5", $target); // add this
Re: 上傳"圖片"中文檔名問題
太強了Kay大大!!
果然是這個地方出問題,現在中、英文都正常了
實在太感謝了只是沒想到$target裡面也存了中文字,無法像.NET一樣Debug還真是不太好找啊~
(豁然開朗)
Re: 上傳"圖片"中文檔名問題
:)
.NET, backtrace ?? 還是 xdebug 那種 step by step 的..
http://www.notabluescreen.com/devel-tips
Re: 上傳"圖片"中文檔名問題
原來Drupal還有這種好東東啊,才剛玩Drupal實在不知道,這樣就不用徹夜一行一行來看code啦~~
真是佛心來的^^