導航:首頁 > 編程語言 > php上傳超大文件

php上傳超大文件

發布時間:2023-05-11 11:16:43

A. php 怎麼獲取超大文件大小,文件大於8G+

這個真沒辦法,用主機空間有大小限制的,普通的免費空間只有8m,收費的再大也不過128m限制

B. 求PHP 超大文件上傳解決方案:分片斷點上傳(一)

大文件上傳主要需要解決2個難點問題。
一個是文件的分片,一個是文件的合成。
也就是客戶端分片上傳,伺服器端量分片的文件進行合成。
文件分片,前端瀏覽器提供了分片的js函數,我們只需要調用即可。
文件上傳需要解決斷點續傳的問題,就是伺服器端需要保留和記錄每次上傳的分片,這樣可以通過順序進行文件合並。
斷點續傳是通過記錄上傳的信息,已上傳的切片不需要重復上傳,當全部切片上傳成功,伺服器端進行切片合並。

C. php 批量大文件上傳下載如何實現

1.首先還是查看環境是否支持超大容量上傳的支持,500M以上的文件通常為視頻文件;

2.即然他要上傳500M以上的文件,估計伺服器性能必定非同凡想,所以暫可不考慮伺服器硬體配置問題,但一定要考慮到網速問題,建議1000M以上出入速率,如少於這個數,你可以放棄這個方案了;

3.前面硬體都過關了,但程序也要加強了,一下上傳500M是哪種語言都不能實現的,唯一解決方案,文件切割,如迅雷下載原理一樣(採用續點上傳),分成若干小塊,然後全部上傳完畢以後,再進行文件合成。

4.至於PHP的文件切割,切割後上傳,以及文件合並,此類代碼網上有許多,樓主可查詢並選擇適合你的代碼,實現你的功能!

D. PHP 斷點上傳超大文件,合並文件時內存溢出,怎麼處理

後台腳本佔用的內存是有個上限的,不是你想用多少就有多少的。

你把文件數據用追加的方式寫入文件,而不是把所有數據拼接為字元串再一次性寫入文件,就不會造成內存溢出了:

file_put_contents('文件路徑', '要寫入的數據', FILE_APPEND);

E. 如何修改PHP上傳文件大小限制

1. 在php.ini中,做如下修改:x0dx0a file_uploads = onx0dx0a upload_tmp_dir = /home/uploadx0dx0a upload_max_filesize = 4000Mx0dx0a post_max_size = 4000Mx0dx0a 一般地,設置好上述四個參數後,上傳<=8M的文件是不成問題,在網路正常的情況下。x0dx0a 但如果要上傳>8M的大體積文件,只設置上述四項還一定能行的通。除非你的網路真有100M/S的上傳高速,否則你還得關心關心下面的參數:x0dx0a max_execution_time = 600x0dx0a max_input_time = 600x0dx0a memory_limit = 128Mx0dx0ax0dx0a2. 在要確認上傳的

里加入以下行:x0dx0a x0dx0a3. $_FILES["userfile"]["error"]返回值說明:x0dx0a $_FILES['teacher_pic']['error'] = 1 文件大小超過了PHP.ini中的文件限制x0dx0a $_FILES['teacher_pic']['error'] = 2 文件大小超過了瀏覽器限制x0dx0a $_FILES['teacher_pic']['error'] = 3 文件部分被上傳x0dx0a $_FILES['teacher_pic']['error'] = 4 沒有找到要上傳的文件x0dx0a $_FILES['teacher_pic']['error'] = 5 伺服器臨時文件夾丟失x0dx0a $_FILES['teacher_pic']['error'] = 6 文件寫入到臨時文件夾出錯x0dx0a $_FILES['teacher_pic']['error'] = -1 末充許的類型x0dx0a $_FILES['teacher_pic']['error'] = -2 文件過大,上傳文件不能超過{$this->maxSize}個位元組x0dx0a $_FILES['teacher_pic']['error'] = -3 上傳失敗x0dx0a $_FILES['teacher_pic']['error'] = -4 建立存放上傳文件目錄失敗,請重新指定上傳目錄x0dx0a $_FILES['teacher_pic']['error'] = -5 必須指定上傳文件的路徑

F. 求php怎麼實現web端上傳超大文件

加大PHP上傳文件大小的限制,是通過修改PHP.INI文件來實現,但是這個支持是有限度的,因為WEB協議本為下載而生,超大文件的上傳是FTP的專利。

PHP用超級全局變數數組$_FILES來記錄文件上傳相關信息的。

1.file_uploads=on/off
是否允許通過http方式上傳文件
2.max_execution_time=30
允許腳本最大執行時間,超過這個時間就會報錯
3.memory_limit=50M
設置腳本可以分配的最大內存量,防止失控腳本佔用過多內存,此指令只有在編譯時設置了
--enable-memory-limit標志的情況下才生效
4.upload_max_filesize=20M
允許上傳文件的最大大小,此指令必須小於post_max_size
5.upload_tmp_dir
上傳文件臨時存放目錄
6.post_max_size=30M
允許post方式可以接受最大大小
$_FILES['myFile']['name'] 客戶端上次文件的原始名稱。
$_FILES['myFile']['type'] 文件的 MIME 類型,需要瀏覽器提供該信息的支持,例如"image/gif"。
$_FILES['myFile']['size'] 已上傳文件的大小,單位為位元組。
$_FILES['myFile']['tmp_name'] 文件被上傳後在服務端儲存的臨時文件名,一般是系統默認。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函數設置是不起作用的。
$_FILES['myFile']['error'] 和該文件上傳相關的狀態碼。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的說明:(它們在PHP3.0以後成了常量)
UPLOAD_ERR_OK
值:0; 沒有錯誤發生,文件上傳成功。
UPLOAD_ERR_INI_SIZE
值:1; 上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值。
UPLOAD_ERR_FORM_SIZE
值:2; 上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。
UPLOAD_ERR_PARTIAL
值:3; 文件只有部分被上傳。
UPLOAD_ERR_NO_FILE
值:4; 沒有文件被上傳。
值:5; 上傳文件大小為0.
文件被上傳結束後,默認地被存儲在了臨時目錄中,這時您必須將它從臨時目錄中刪除或移動到其它地方,如果沒有,則會被刪除。
也就是不管是否上傳成功,腳本執行完後臨時目錄里的文件肯定會被刪除。
附:修改PHP上傳文件大小限制的方法
1. 一般的文件上傳,除非文件很小.就像一個5M的文件,很可能要超過一分鍾才能上傳完.
但在php中,默認的該頁最久執行時間為 30 秒.就是說超過30秒,該腳本就停止執行.
這就導致出現 無法打開網頁的情況.這時我們可以修改 max_execution_time
在php.ini里查找
max_execution_time
默認是30秒.改為
max_execution_time = 0
0表示沒有限制
2. 修改 post_max_size 設定 POST 數據所允許的最大大小。此設定也影響到文件上傳。
php默認的post_max_size 為2M.如果 POST 數據尺寸大於 post_max_size $_POST 和 $_FILES superglobals 便會為空.
查找 post_max_size .改為
post_max_size = 150M
3. 很多人都會改了第二步.但上傳文件時最大仍然為 8M.
為什麼呢.我們還要改一個參數upload_max_filesize 表示所上傳的文件的最大大小。
查找upload_max_filesize,默認為8M改為
upload_max_filesize = 100M
另外要說明的是,post_max_size 大於 upload_max_filesize 為佳.

G. PHP 大文件上傳解決方案(500M以上)

針對這種問題,我想從如下幾方面著手:
1.首先還是查看環境是否支持超大容量上傳的支持,500M以上的文件通常為視頻文件;
2.即然他要上傳500M以上的文件,估計伺服器性能必定非同凡想,所以暫可不考慮伺服器硬體配置問題,但一定要考慮到網速問題,建議1000M以上出入速率,如少於這個數,你可以放棄這個方案了;
3.前面硬體都過關了,但程序也要加強了,一下上傳500M是哪種語言都不能實現的,唯一解決方案,文件切割,如迅雷下載原理一樣(採用續點上傳),分成若干小塊,然後全部上傳完畢以後,再進行文件合成。
4.至於PHP的文件切割,切割後上傳,以及文件合並,此類代碼網上有許多,樓主可查詢並選擇適合你的代碼,實現你的功能!

以上思路希望能幫到你!

H. php最大能傳多大的文件

默認只能傳最大 2M 的文件。

不過,可以配置php.ini文件,修改上傳文件大小的限制。

配置php.ini文件 (以上傳500M以下大小的文件為例)
查找以下選項並修改->
file_uploads = On ;打開文件上傳選項
upload_max_filesize = 500M ;上傳文件上限

如果要上傳比較大的文件,僅僅以上兩條還不夠,必須把伺服器緩存上限調大,把腳本最大執行時間變長
post_max_size = 500M ;post上限
max_execution_time = 1800 ; Maximum execution time of each script, in seconds腳本最大執行時間
max_input_time = 1800 ; Maximum amount of time each script may spend parsing request data
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)內存上限

閱讀全文

與php上傳超大文件相關的資料

熱點內容
蘋果筆記本t2加密晶元怎麼打開 瀏覽:796
安卓如何把手機投屏至電視 瀏覽:737
方舟編譯器現在可提速哪些軟體 瀏覽:58
微信加密為什麼是黑屏 瀏覽:473
android去電狀態 瀏覽:602
蘋果13如何加密視頻 瀏覽:813
linuxweblogic緩存 瀏覽:67
雲伺服器不同地域 瀏覽:946
python鬧鍾怎麼打 瀏覽:686
虛擬主機伺服器有什麼區別 瀏覽:833
演算法與程序的奧秘章節檢測 瀏覽:377
找pdf 瀏覽:529
與伺服器連接斷開如何處理 瀏覽:833
伺服器維修預計十分鍾什麼意思 瀏覽:170
黑馬程序員主打教學是什麼 瀏覽:41
python九乘法表怎麼編寫 瀏覽:974
思維方式pdf 瀏覽:656
tcc社區app怎麼注冊 瀏覽:941
央視網下載加密 瀏覽:454
命令行訪問伺服器 瀏覽:36