站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        php文件上傳流程是什么

        php文件上傳流程:首先配置PHP文件,并設(shè)置前端表單;然后將臨時(shí)文件默認(rèn)保存在所設(shè)置的目錄下;接著對file數(shù)組中的error屬性進(jìn)行判斷處理;最后在前端可以對上傳的文件類型,大小進(jìn)行限制。

        php文件上傳流程是什么

        本教程操作環(huán)境:windows7系統(tǒng)、PHP5.6版,DELL G3電腦,該方法適用于所有品牌電腦。

        php文件上傳流程:

        1、php配置文件

        php.ini文件中的file uploads部分定義了相關(guān)文件上傳配置,

        • file_uploads = On 打開文件上傳

        • upload_tmp_dir =臨時(shí)目錄

        • upload_max_filesize = 2M最大上傳大小

        • max_file_uploads = 20單次最大上傳文件數(shù)

        2、前端表單

        <form action="test.php" method="post" enctype="multipart/form-data">   <input type="file" name="myfile">   <input type="submit" value="上傳"> </form>

        當(dāng)使用由文件上傳控件的表單時(shí),必須將form的enctype設(shè)置為"multipart/form-data"。

        可以在客戶端對上傳文件的大小與類型進(jìn)行限制:

        <input type="hidden" name="MAX_FILE_SIZE" value="8096"> <input type="file" name="myfile" accept="image/jpeg,image/png">

        3、后臺處理

        上傳后會在服務(wù)器端得到一個(gè)$_FILES文件數(shù)組如下:

        php文件上傳流程是什么

        上傳到服務(wù)器的臨時(shí)文件默認(rèn)保存在php.ini中upload_tmp_dir所設(shè)置的目錄下,我們需要將文件移動到指定位置:

        <?php   header('Content-type:text/html;charset=utf-8');   $myfile=$_FILES['myfile'];   //獲取文件數(shù)組['myfile']的屬性tmp_name與name   $tmp=$myfile['tmp_name'];   $picname=$myfile['name'];   //windows采用GBK編碼,php采用utf-8編碼,需要改變文件名的編碼格式   $picname=iconv('utf-8','GBK',$picname);   //將零時(shí)文件$tmp移動到指定目錄userpic并命名為$picname   copy($tmp,"userpic/".$picname);

        4、錯(cuò)誤處理

        對file數(shù)組中的error屬性進(jìn)行判斷處理:

        $error=$myfile['myfile']['error'];   if ($error==0){//為0,代表上傳成功     if (move_uploaded_file($tmp,"userpic/".$picname)) {       echo "移動文件成功";     }else{       echo "移動文件失敗";     }   }else{//不為0,匹配錯(cuò)誤信息     switch ($error){       case 1:         echo "超過文件最大上傳限制";//php.ini中upload_max_filesize         break;       case 2:         echo "超過表單文件大小限制";//HTML表單中MAX_FILE_SIZE選項(xiàng)         break;       case 3:         echo "文件部分被上傳";         break;       case 4:         echo "未選擇上傳文件";         break;       case 7://文件寫入失敗       case 8:         echo "系統(tǒng)錯(cuò)誤";         break;     }   }

        5、上傳限制

        在前端可以對上傳的文件類型,大小進(jìn)行限制:

        <!--表單隱藏域?qū)ι蟼鞔笮∵M(jìn)行限制--> <input type="hidden" name="MAX_FILE_SIZE" value="2097152"> <!--accept 對文件類型限制--> <input type="file" name="myfile" accept="image/jpeg,image/png">

        注意限制是以字節(jié)為單位

        在服務(wù)器端也要做響應(yīng)的限制:

        $size=$myfile['size'];//獲取文件大小 $MaxSize=2097152;//設(shè)置最大允許字節(jié) $type=$myfile['type'];//獲取圖片類型 $AllowTypr=array('image/jpeg','image/png','image/gif');//允許類型數(shù)組 if ($error==0){//為0,代表上傳成功   if ($size>$MaxSize){     echo "<script>alert('文件大小超過限制');</script>";     echo "<script>history.back(1);</script>";     exit();   }   if (!in_array($type,$AllowTypr)){     echo "<script>alert('請上傳正確圖片類型');</script>";     echo "<script>history.back(1);</script>";     exit();   }

        相關(guān)視頻推薦:PHP編程從入門到精通

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 精品三级在线观看| 国自产精品手机在线观看视| 99热都是精品久久久久久| 午夜天堂精品久久久久| 国产精品免费久久久久电影网| 国产综合色在线精品| 亚洲国产主播精品极品网红| 国产精品福利在线观看免费不卡| 国产精品区一区二区三在线播放| 日本精品自产拍在线观看中文 | 亚洲中文精品久久久久久不卡| 国产高清在线精品一本大道| 国产精品青草久久久久婷婷| 精品一区二区三区自拍图片区| 中文字幕精品无码一区二区| 蜜桃麻豆www久久国产精品 | 久久99久久99精品免视看动漫| 中文字幕久久精品| 人人妻人人澡人人爽精品欧美 | 成人国产精品一区二区视频| 麻豆精品久久久一区二区| 国产精品视频网站| 91精品国产综合久久久久久| 国精品午夜福利视频不卡麻豆| 久久夜色精品国产噜噜噜亚洲AV| 亚洲国产精品乱码一区二区| 四虎国产精品永久在线| 久久精品国产清高在天天线| 四虎影视永久在线观看精品| 久久久一本精品99久久精品88| 欧美日韩人妻精品一区二区在线| 午夜天堂精品久久久久| 久久精品无码一区二区无码 | 国产偷亚洲偷欧美偷精品 | 亚洲七七久久精品中文国产| 亚洲国产精品成人| 四虎国产精品永久在线观看| 777久久精品一区二区三区无码| 亚洲精品人成无码中文毛片 | 无码日韩精品一区二区免费暖暖 | 四虎精品8848ys一区二区|