2016-10-24 65 views
23

我在項目中工作,允許我們的員工上傳大文件到我們的共享主機並獲取下載鏈接。問題是我們的主機拒絕更改共享主機的LimitRequestBody。有任何其他解決方案可以解決LimitRequestBody或任何其他方式來完成這項工作?解決錯誤413請求實體太大

+0

你嘗試過什麼嗎? 我認爲你可以在上傳之前將數據分成少部分並壓縮它! – Fky

+0

@Fky我做這個項目給我們的員工可以不需要我更新數據,我現在做的是我打開我的主機ftp並上傳文件。但我需要做腳本來上傳這些數據而不需要我,它已經適用於小於100MB的小數據。 –

+0

是的,但你的腳本可以在你的ftp服務器上運行並且分割數據+在上傳前壓縮它 – Fky

回答

12

兩種方式使它工作,手動塊上傳或工具。可以使用Real Ajax Uploader工具。它可以與html5一起使用,文件的上傳是通過塊來完成的,對服務器的性能和穩健性有小的要求。

或者手動將文件拆分成許多塊,然後逐個上傳。您可以使用7-zip來分割文件併合並文件。這裏是一個tutorial

對於客戶分割也參考File uploads; How to utilize "chunking"?

對於服務器塊相結合可以參考Handling plupload's chunked uploads on the server-sidehttp://www.phpclasses.org/package/8858-PHP-Create-and-merge-Zip-archives-split-in-parts.html

希望它幫助。

3

您可以覆蓋的upload_max_filesizepost_max_size默認值。二者皆INI設置有變化模式PHP_INI_PERDIR,這意味着你可以使用下面的

的php.ini,htaccess的,httpd.conf中的一個,.user.ini

由於您使用的共享主機所以最合適的選項的.htaccess.user.ini

您可以參考此設定值使用htaccess Set php Ini settings using htaccess

+2

這是值得一試,但如果它的作品,你應該改變託管服務提供商。任何允許客戶使用''的共享主機提供商。htaccess'或'ini_set'等內容來覆蓋他們特別說的「不」是一個託管服務提供商,您應該立即離開,因爲其他客戶會點擊,發現其他漏洞,並很快濫用服務並將您的網站停用。良好的共享主機提供商也將阻止您覆蓋他們想要控制資源使用情況的全局設置。 – Robbie

+0

我已經改變了PHP的設置,但'LimitRequestBody'它是一個Apache設置,我試圖改變.hraccess的限制,但不工作,我的主機拒絕改變它。我測試的限制,我認爲它的100MB,但我需要使它200MB –

+0

@SamirNabil 200 MB聽起來巨大。這些是什麼類型的文件?就是想。你確定底層流程本身有意義嗎? –