欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

drupal6上傳中文文件名附件亂碼問題解決方法

  發(fā)布時間:2014-11-06 10:23:08   作者:佚名   我要評論
這篇文章主要為大家介紹了drupal6上傳中文文件名附件亂碼問題解決方法,是很多drupal用戶都會遇見的問題,具有很好的參考借鑒價值,需要的朋友可以參考下

本文實例講述了drupal6上傳中文文件名附件亂碼問題解決方法。分享給大家供大家參考。具體方法如下:

drupal6的upload模塊只能上傳英文名字的文件,我經過一段時間的測試,完美解決了drupal下中文文檔上傳的問題。

其實文檔上傳,無非涉及到兩個方面。

第一:文檔存到數據庫中的名字。
第二:文檔上傳后存到服務器的文件夾里的名字。

這兩個名字如果都是中文的名字,問題就解決了。
根據以上的設想,我開始修改file.inc文件。

為什么要修改這個文件呢?

因為文件的上傳是用到upload.module的upload_node_form_submit(&$form, &$form_state)這個函數是管上傳的。
但是這個函數上傳主要用到了函數里面的這句代碼

復制代碼
代碼如下:
if (($user->uid != 1 || user_access('upload files')) && ($file = file_save_upload('upload', $validators, file_directory_path())))

也就是 file_save_upload函數才是最終的上傳函數。而file_save_upload函數就是在file.inc這個文件里。
所以我們其實就是修改file.inc這個文件里的file_save_upload函數。
修改兩個地方就可以
第一個地方,管數據庫文件名字的
語句是:

復制代碼
代碼如下:
$file->filename = file_munge_filename(trim(basename($_FILES['files']['name'][$source]), '.'), $extensions);

修改后:

復制代碼
代碼如下:
$file->filename = file_munge_filename(trim($_FILES['files']['name'][$source], '.'), $extensions);

第二個地方,管上傳到服務器的文件夾里的文件名字的。
原句是:

復制代碼
代碼如下:
if (!move_uploaded_file($_FILES['files']['tmp_name'][$source], $file->filepath))

修改后:

復制代碼
代碼如下:
if (!move_uploaded_file($_FILES['files']['tmp_name'][$source],iconv("UTF-8","gb2312",$file->filepath)))

希望本文所述對大家的drupal建站有所幫助。

相關文章

最新評論