首先設(shè)置配置文件:

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、做網(wǎng)站、文登網(wǎng)絡(luò)推廣、成都小程序開發(fā)、文登網(wǎng)絡(luò)營(yíng)銷、文登企業(yè)策劃、文登品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供文登建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:chinadenli.net
upload_max_filesize :允許上傳文件大小的最大值,默認(rèn)為2M。可以設(shè)置大點(diǎn);
post_max_size :控制在采用POST方法進(jìn)行一次表單提交中PHP所能夠接收的最大數(shù)據(jù)量。如果希望使用PHP文件上傳功能,則需要將此值改為比upload_max_filesize要大
加大PHP上傳文件大小的限制,是通過(guò)修改PHP.INI文件來(lái)實(shí)現(xiàn),但是這個(gè)支持是有限度的,因?yàn)閃EB協(xié)議本為下載而生,超大文件的上傳是FTP的專利。
PHP用超級(jí)全局變量數(shù)組$_FILES來(lái)記錄文件上傳相關(guān)信息的。
1.file_uploads=on/off
是否允許通過(guò)http方式上傳文件
2.max_execution_time=30
允許腳本最大執(zhí)行時(shí)間,超過(guò)這個(gè)時(shí)間就會(huì)報(bào)錯(cuò)
3.memory_limit=50M
設(shè)置腳本可以分配的最大內(nèi)存量,防止失控腳本占用過(guò)多內(nèi)存,此指令只有在編譯時(shí)設(shè)置了
--enable-memory-limit標(biāo)志的情況下才生效
4.upload_max_filesize=20M
允許上傳文件的最大大小,此指令必須小于post_max_size
5.upload_tmp_dir
上傳文件臨時(shí)存放目錄
6.post_max_size=30M
允許post方式可以接受最大大小
$_FILES['myFile']['name'] 客戶端上次文件的原始名稱。
$_FILES['myFile']['type'] 文件的 MIME 類型,需要瀏覽器提供該信息的支持,例如"image/gif"。
$_FILES['myFile']['size'] 已上傳文件的大小,單位為字節(jié)。
$_FILES['myFile']['tmp_name'] 文件被上傳后在服務(wù)端儲(chǔ)存的臨時(shí)文件名,一般是系統(tǒng)默認(rèn)。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函數(shù)設(shè)置是不起作用的。
$_FILES['myFile']['error'] 和該文件上傳相關(guān)的狀態(tài)碼。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的說(shuō)明:(它們?cè)赑HP3.0以后成了常量)
UPLOAD_ERR_OK
值:0; 沒(méi)有錯(cuò)誤發(fā)生,文件上傳成功。
UPLOAD_ERR_INI_SIZE
值:1; 上傳的文件超過(guò)了 php.ini 中 upload_max_filesize 選項(xiàng)限制的值。
UPLOAD_ERR_FORM_SIZE
值:2; 上傳文件的大小超過(guò)了 HTML 表單中 MAX_FILE_SIZE 選項(xiàng)指定的值。
UPLOAD_ERR_PARTIAL
值:3; 文件只有部分被上傳。
UPLOAD_ERR_NO_FILE
值:4; 沒(méi)有文件被上傳。
值:5; 上傳文件大小為0.
文件被上傳結(jié)束后,默認(rèn)地被存儲(chǔ)在了臨時(shí)目錄中,這時(shí)您必須將它從臨時(shí)目錄中刪除或移動(dòng)到其它地方,如果沒(méi)有,則會(huì)被刪除。
也就是不管是否上傳成功,腳本執(zhí)行完后臨時(shí)目錄里的文件肯定會(huì)被刪除。
附:修改PHP上傳文件大小限制的方法
1. 一般的文件上傳,除非文件很小.就像一個(gè)5M的文件,很可能要超過(guò)一分鐘才能上傳完.
但在php中,默認(rèn)的該頁(yè)最久執(zhí)行時(shí)間為 30 秒.就是說(shuō)超過(guò)30秒,該腳本就停止執(zhí)行.
這就導(dǎo)致出現(xiàn) 無(wú)法打開網(wǎng)頁(yè)的情況.這時(shí)我們可以修改 max_execution_time
在php.ini里查找
max_execution_time
默認(rèn)是30秒.改為
max_execution_time = 0
0表示沒(méi)有限制
2. 修改 post_max_size 設(shè)定 POST 數(shù)據(jù)所允許的最大大小。此設(shè)定也影響到文件上傳。
php默認(rèn)的post_max_size 為2M.如果 POST 數(shù)據(jù)尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便會(huì)為空.
查找 post_max_size .改為
post_max_size = 150M
3. 很多人都會(huì)改了第二步.但上傳文件時(shí)最大仍然為 8M.
為什么呢.我們還要改一個(gè)參數(shù)upload_max_filesize 表示所上傳的文件的最大大小。
查找upload_max_filesize,默認(rèn)為8M改為
upload_max_filesize = 100M
另外要說(shuō)明的是,post_max_size 大于 upload_max_filesize 為佳.
獲取路徑下的所有圖片文件名,寫入數(shù)據(jù)庫(kù)或是某個(gè)變量,在別的頁(yè)面調(diào)用程序上傳,再?gòu)膭e的頁(yè)面讀出來(lái)就行了。
以下是示例代碼:
?php
function upload($fileName,$filePath)
{
//判斷該文件是否是用戶根據(jù)POST方式提交到服務(wù)器的上傳文件
foreach($_FILES[$fileName]['tmp_name'] as $k=$v)
{
if($_FILES[$fileName]['name'][$k]!="")
{
$result=check($_FILES[$fileName]['size'][$k],$_FILES[$fileName]['type'][$k],$_FILES[$fileName]['name'][$k]);
if($result['error']==1)
{
echo $result['msg']."br";
echo "出錯(cuò)文件:".$result['name']."br";
}
else
{
$arrTT=explode(".",$_FILES[$fileName]['name'][$k]);
$extName=$arrTT[count($arrTT)-1];
$NewName=sha1(microtime()).".".$extName;
if(move_uploaded_file($v,$filePath.$NewName));
$arrWW[]=$NewName;
}
}
}
return $arrWW;
}
function check($size,$types,$name)
{
if($size=5242880)
{
$result['msg']='文件過(guò)大!';
$result['error']=1;
$result['name']=$name;
}
$arrType=array('image/pjpeg','image/gif','image/x-png','audio/mp3','application/msword','application/vnd.ms_excel','application/octet-stream','application/vnd.ms-powerpoint');
if(!in_array($types,$arrType))
{
$result['msg']='文件類型不匹配!';
$result['error']=1;
$result['name']=$name;
}
return $result;
}
?
當(dāng)前題目:php大數(shù)據(jù)分批上傳,php轉(zhuǎn)大數(shù)據(jù)
當(dāng)前地址:http://chinadenli.net/article47/dsgiiej.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、微信公眾號(hào)、品牌網(wǎng)站建設(shè)、云服務(wù)器、企業(yè)網(wǎng)站制作、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)