php沒(méi)有文件被上傳的實(shí)例分析及解決辦法
1、修改php.ini,設(shè)置上傳文件的大小。
2、在httpd.conf中添加“php_value upload_max_filesize "300M"”。
3、重啟服務(wù)器即可。
使用Thinkphp框架上傳小圖片文件成功,上傳大文件失敗。
后來(lái)查找了原因,是因?yàn)閜hp限制了上傳文件的大小,修改php.ini如下配置:
upload_max_filesize = 300M post_max_size = 300M
重啟服務(wù)器,依然如此,問(wèn)題并未得到解決。
解決方法如下,在httpd.conf中添加如下:
php_value upload_max_filesize "300M" php_value post_max_size "300M"
再次重啟服務(wù)器,OK!
知識(shí)點(diǎn)擴(kuò)展:
錯(cuò)誤處理
對(duì)file數(shù)組中的error屬性進(jìn)行判斷處理:
$error=$myfile['myfile']['error']; if ($error==0){//為0,代表上傳成功 if (move_uploaded_file($tmp,"userpic/".$picname)) { echo "移動(dòng)文件成功"; }else{ echo "移動(dòng)文件失敗"; } }else{//不為0,匹配錯(cuò)誤信息 switch ($error){ case 1: echo "超過(guò)文件最大上傳限制";//php.ini中upload_max_filesize break; case 2: echo "超過(guò)表單文件大小限制";//HTML表單中MAX_FILE_SIZE選項(xiàng) break; case 3: echo "文件部分被上傳"; break; case 4: echo "未選擇上傳文件"; break; case 7://文件寫(xiě)入失敗 case 8: echo "系統(tǒng)錯(cuò)誤"; break; } }
上傳限制
在前端可以對(duì)上傳的文件類(lèi)型,大小進(jìn)行限制:
注意限制是以字節(jié)為單位
在服務(wù)器端也要做響應(yīng)的限制:
$size=$myfile['size'];//獲取文件大小 $MaxSize=2097152;//設(shè)置最大允許字節(jié) $type=$myfile['type'];//獲取圖片類(lèi)型 $AllowTypr=array('image/jpeg','image/png','image/gif');//允許類(lèi)型數(shù)組 if ($error==0){//為0,代表上傳成功 if ($size>$MaxSize){ echo ""; echo ""; exit(); } if (!in_array($type,$AllowTypr)){ echo ""; echo ""; exit(); }
到此這篇關(guān)于php沒(méi)有文件被上傳的實(shí)例分析及解決辦法的文章就介紹到這了,更多相關(guān)php沒(méi)有文件被上傳的解決辦法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
版權(quán)聲明:
本站所有文章和圖片均來(lái)自用戶(hù)分享和網(wǎng)絡(luò)收集,文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系網(wǎng)站客服處理。