久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

php上傳大文件失敗的解決辦法

 quasiceo 2013-11-03

php上傳大文件失敗的解決辦法

閱讀文字大小:【小】   【大】

php上傳大文件失敗的解決辦法昨天一做php開發(fā)的網(wǎng)友問我為什么上傳大文件總是失敗,,但是上傳小文件就沒有問題,。作者一時半會兒也不知道什么原因,遂網(wǎng)上搜搜幫其分析原因,,看到一篇很不錯的關(guān)于php上傳大文件失敗的各種原因的總結(jié)以及各種解決辦法的,,于是轉(zhuǎn)來與大家分享之。
  
下面分別是各種原因以及解決辦法

(1)文件上傳時存放文件的臨時目錄必須是開啟的并且是 PHP 進程所有者用戶可寫的目錄,。如果未指定則 PHP 使用系統(tǒng)默認值,。

php.ini文件中upload_tmp_dir用來說明PHP上傳的文件放置的臨時目錄,要想上傳文件,,得保證服務器沒有關(guān)閉臨時文件并對該文件夾有寫入的權(quán)限,。

(2)max_execution_time 的值必須足夠大。變量 max_execution_time 設置了在強制終止腳本前PHP等待腳本執(zhí)行完畢的時間,,此時間以秒計算,。當腳本進入了一個無限循環(huán)狀態(tài)時此變量非常有用。然而,,當存在一個需要很長時間完成的合法活動時(例如上傳大型文件),,這項功能也會導致操作失敗。在這樣的情況下必須考慮將此變量值增大,,以避免PHP在腳本正在執(zhí)行某些重要過程的時候?qū)⒛_本關(guān)閉,,例如設置為 90 秒。

max_execution_time = 90

注意在php函數(shù)中還有個 set_time_limit 函數(shù),,和以上這個設置的作用是相同的,,這兩者的區(qū)別就是 以上是在 php.ini 文件中設置的,而 set_time_limit 是寫在php文件中的,。所以也可以通過在頁面中用 set_time_limit 設置程序的最長執(zhí)行時間,,比如無限制即:set_time_limit(0);

(3)file_uploads = On 默認值為on,意思是允許通過 HTTP 進行文件上傳,此選項不能設置為OFF,。

(4)upload_max_filesize = 2M 設定文件上傳的大小的最大值,,php.ini配置文件中的默認文件上傳大小為2M,php初學者容易犯的一個錯誤是在編寫文件上傳功能時通過設置上傳文件最大大小的表單區(qū)域,,即允許上傳文件的最大值,,max_file_size(隱藏值域)的值來規(guī)定上傳文件的大小,其實一般別人可以繞過這個值,,所以安全起見,,最好是在 php.ini 配置文件中配置 upload_max_filesize 選項,設定文件上傳的大小,。默認 upload_max_filesize = 2M,即文件上傳的大小為2M,,如果你想上傳超過8M的文件,,比如20M,你必須設定upload_max_filesize = 20M,。

(5)post_max_size 這個值也必須足夠大,。這個變量也是一個同表單提交相關(guān)的變量,它限制的是客戶端通過POST方法進行一次表單提交時PHP程序所能夠接收的最大數(shù)據(jù)量,。一般情況下,,將此值的值設置的比 upload_max_filesize 略大即可,比如要上傳20MB的文件,,此值可以設置為 21MB,。

(6)max_input_time 此變量可以以秒為單位對通過POST、GET以及PUT方式接收數(shù)據(jù)時間進行限制,。如果應用程序所運行環(huán)境處在網(wǎng)絡比較慢的情況下,,則需要增加此值以增大接收數(shù)據(jù)所需要的時間,比如將此值設置為 90秒,。

max_input_time = 90

(7)memory_limit 也必須足夠大,,為了避免正在運行的腳本大量使用系統(tǒng)可用內(nèi)存,PHP允許定義內(nèi)存使用限額,。通過memory_limit變量來指定單個腳本程序可以使用的最大內(nèi)存容量,。變量memory_limit的值應當適當大于post_max_size的值。

(8)另外如果你的主機是 nginx 操作系統(tǒng)的話,,如果以上操作都不行的話,,記得在 nginx 的配置文件里面加上 client_max_body_size 20m; 這樣一句,即表示最大允許上傳 20MB,,具體根據(jù)自己的情況來,。我的 nginx 配置文件的位置在 /usr/local/nginx/conf/nginx.conf。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多