當前位置:首頁 » 文件管理 » phpHTML5上傳大文件

phpHTML5上傳大文件

發布時間: 2022-11-04 11:30:40

『壹』 php如何通過http傳輸大文件

其實最簡單的辦法就是把默認上傳文件大小的配置改大一點就行了。比如你要上傳一個小於50M的文件
1.php的配置文件改動:
upload_max_filesize 50M;
post_max_size 50M;
2.nginx的配置文件nginx.conf:
client_max_body_size 50m;

『貳』 php中上傳文件的方法有多少種

一、傳統的php寫的上傳類。
寫一個php的上傳類,這個方法用到的知識全部是php的,而且技術的難點也不多。
<form method="post" action="upload.php" enctype="multipart/form-data">
<table border=0 cellspacing=0 cellpadding=0 align=center width="100%">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">//隱藏域。這里name必須設置成MAX_FILE_SIZE,其值就是上傳文件的最大長度,單位是B,這里我限製成2M
<input name="file" type="file" value="瀏覽" >
< input type="submit" value="上傳" name="B1">
</table>
</form>

服務端利用php的$_FILES['file']['name']來獲取文件後綴名,具體的代碼自己查找資料看看,這里就不多說了。
總結;這個方法可以用來上傳小於2M的文件或者是圖片,基本的功能可以實現。
二、利用uploadify插件
這個是利用jQuery的上傳插件,上傳可以帶進度條,容易配置。
總結:可以上傳一些大文件,和圖片,而且帶進度條,可以多文件上傳,在WEB中會經常用。
三、利用網路的webupload
WebUploader 是由 Bai FEX 團隊開發的一款以 HTML5 為主,FLASH 為輔的現代文件上傳組件。在現代的瀏覽器裡面能充分發揮 HTML5 的優勢,同時又不摒棄主流IE瀏覽器,沿用原來的 FLASH 運行時,兼容 IE6+,iOS 6+, Android 4+。採用大文件分片並發上傳,極大的提高了文件上傳效率。
四、swfupload的插件

這是一個jquery的上傳插件,功能也非常強大,開發也比較容易,網上有很多的資料,可以自行查找。

『叄』 html怎樣上傳比較大的文件

和你的配置文件有關。改一下PHP配置文件php.ini
給你總結下相關配置,自己去改吧

1、php.ini:upload_max_filesize 所上傳的文件的最大大小。默認值2M。

2、php.ini:memory_limit 本指令設定了一個腳本所能夠申請到的最大內存字
節數,默認值8M。如果不需要任何內存上的限制,必須將其設為 -1。如果內存不夠,則可能出現錯誤:Fatal error: Allowed
memory size of X bytes exhausted (tried to allocate Y bytes)

3、php.ini:post_max_size 設定POST數據所允許的最大大小。此設定也影響到文件上傳。要上傳大文件,該值必須大於 upload_max_filesize。

4、php.ini:max_execution_time = 30 ; Maximum execution time of each script, in seconds

5、php.ini:max_input_time = 60 ; Maximum amount of time each script may spend parsing request data

6、如果用到mysql的BLOB進行二進制文件存儲,則需要設置my.ini:max_allowed_packet=xxM

『肆』 怎麼通過HTML+PHP上傳文件到伺服器

HTML代碼:


<body>

<form action="" method="post" enctype="multipart/form-data" name="upload_form">

<label>選擇圖片文件</label>

<input name="imgfile" type="file" accept="image/gif, image/jpeg"/>

<input name="upload" type="submit" value="上傳" />

</form>

</body>


PHP代碼:


if (isset($_FILES['imgfile'])

&& is_uploaded_file($_FILES['imgfile']['tmp_name']))

{

$imgFile = $_FILES['imgfile'];

$upErr = $imgFile['error'];

if ($upErr == 0)

{

$imgType = $imgFile['type']; //文件類型。

/* 判斷文件類型,這個例子里僅支持jpg和gif類型的圖片文件。*/

if ($imgType == 'image/jpeg'

|| $imgType == 'image/gif')

{

$imgFileName = $imgFile['name'];

$imgSize = $imgFile['size'];

$imgTmpFile = $imgFile['tmp_name'];

/*

將文件從臨時文件夾移到上傳文件夾中。

注意:upfile這個文件夾必須先創建好,不然會報錯。

*/

move_uploaded_file($imgTmpFile, 'upfile/'.$imgFileName);

/*顯示上傳後的文件的信息。*/

$strPrompt = sprintf("文件%s上傳成功<br>"

. "文件大小: %s位元組<br>"

. "<img src='upfile/%s'>"

, $imgFileName, $imgSize, $imgFileName

);

echo $strPrompt;

}

else

{

echo "請選擇jpg或gif文件,不支持其它類型的文件。";

}

}

else

{

echo "文件上傳失敗。<br>";

switch ($upErr)

{

case 1:

echo "超過了php.ini中設置的上傳文件大小。";

break;

case 2:

echo "超過了MAX_FILE_SIZE選項指定的文件大小。";

break;

case 3:

echo "文件只有部分被上傳。";

break;

case 4:

echo "文件未被上傳。";

break;

case 5:

echo "上傳文件大小為0";

break;

}

}

}

else

{

}


『伍』 求PHP上傳大文件的三種解決方案

第一種是使用第三方的存儲空間,這種比較方便,也不需要你做什麼,直接請求介面就好啦。
第二種可以使用ftp方式進行大文件上傳,支持斷點續傳。
第三種是用php調用服務端程序來上傳,比如調用python等等開發的上傳功能

『陸』 求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 為佳.

『柒』 php上傳文件 關於上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值

你上面那個是判斷出現錯誤情況下的,判斷有沒超過你定義的大小是返回錯誤為0的情況下進行判斷。
if($_FILES['file']['error']>0){
switch($_FILES['file']['error']){
case1:
echo"上傳的文件超過了php.ini中upload_max_filesize選項限制的值。";
break;
case2:
echo"上傳文件的大小超過了HTML表單中MAX_FILE_SIZE選項指定的值。";
break;
case3:
echo"文件只有部分被上傳。";
break;
case4:
echo"沒有文件被上傳。";
break;
default:
echo"未知錯誤!";
}
exit;
}
else
{
if($_FILES['file']['size']>1000000)
{
echo"上傳文件的大小超過了HTML表單中MAX_FILE_SIZE選項指定的值。";
exit;
}
}

echo"上傳成功";

『捌』 PHP 大文件上傳解決方案(500M以上)

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

以上思路希望能幫到你!

『玖』 用PHP寫上傳資源的代碼是上傳大文件,例如300M的文件,再不改php.ini設置的情況下,有沒有一種用代碼修改

可以,利用php裡面的函數ini_set(),ini_set參數格式為ini_set($var,$value),$var是你要設置的配置選項,$value是你要修改的值。

熱點內容
qq瀏覽器如何取消保存密碼 發布:2024-10-06 20:14:48 瀏覽:649
shell腳本ctrlc 發布:2024-10-06 20:10:37 瀏覽:888
壓縮板好嘛 發布:2024-10-06 20:10:28 瀏覽:670
java編譯基礎教程 發布:2024-10-06 20:09:47 瀏覽:268
我的世界電腦java怎麼玩伺服器 發布:2024-10-06 19:16:54 瀏覽:480
存儲空間大於存儲池中的可用容量 發布:2024-10-06 19:15:28 瀏覽:33
什麼叫估演算法 發布:2024-10-06 19:15:20 瀏覽:87
c語言庫編譯 發布:2024-10-06 19:09:23 瀏覽:747
啊里雲系統電視如何更換安卓系統 發布:2024-10-06 18:50:09 瀏覽:577
編譯語言分為幾類 發布:2024-10-06 18:34:56 瀏覽:785