解決WordPress上傳檔案的限制問題 (目錄權限、檔案大小、上傳時間、檔案類型)


作者: | 2011/05/12 21:06:32 | 留言


若您常常使用WordPress上傳檔案,像是圖片、影片、Word檔、PDF檔、Excel檔..等,一定很容易就會發現預設上傳檔案的限制是2MB,這對一般部落格的使用者來說也許還算足夠,但是一些把WordPress拿來作為CMS的使用者像是中小企業組織的用戶,一定深感不便。

要成功的讓大容量檔案可以上傳至Server,通常有四件事要解決:目錄權限、檔案大小、上傳時間、檔案類型:

*開放WordPress上傳目錄權限
設定uploads目錄權限為777,是的,它有安全上的風險,但要使用WP上傳檔案的功能,就必須設定777。 正確應該設定 owner 權限,例如設為 www-data (ubuntu) 或 apache (centos)。任何情況下都不要設定 777。

*解決WordPress上傳檔案大小及上傳時間的限制
如果具有Server的管理權限,您只要直接修改php.ini就可以解決了;但若您使用的是租來的主機,可以試試看以下的方式:

1. 首先建立一個php.ini,放在你網站根目錄,內容為:

upload_max_filesize = 100M
post_max_size = 100M
max_execution_time = 600

2. 修改您主機的.htaccess 內容,加上:

SetEnv PHPRC /剛才放置php.ini的目錄

註. 感謝 殺氣大大 提醒:使用php.ini的方式,不一定所有租賃主機都支援,所以若這招行不通,請連絡您的主機商!

*解決WordPress上傳檔案類型

WordPress有內建幾種常見的檔案格式,若不在內建名單中,則會有安全提示出現,然後不給上傳。如果要擴充上傳檔案的類型,最輕型的作法是打開在佈景目錄中的 functions.php 加上一些code:

add_filter('upload_mimes', 'custom_upload_mimes');

function custom_upload_mimes ( $existing_mimes=array() )
{

// Add file extension 'extension' with mime type 'mime/type'
$existing_mimes['extension'] = 'mime/type';

// add as many as you like e.g.
$existing_mimes['rar'] = 'application/rar'; //增加rar類型檔案

// remove items here if desired ...
//unset( $existing_mimes['exe'] );

// and return the new full result
return $existing_mimes;

}

當然也能透過安裝外掛來解決擴充上傳檔案類型問題:pjw-mime-config


標籤:,

分類:,

本文作者是Audi Lu

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

*

*

*

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料