溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php如何實現(xiàn)文件上傳基本驗證

發(fā)布時間:2021-05-18 10:58:25 來源:億速云 閱讀:140 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)php如何實現(xiàn)文件上傳基本驗證的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

Html部分

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>文件上傳</title>
</head>
<body>
 <form action="doupload.php" method="post" enctype="multipart/form-data">
 <input type="file" name="myFile"/>
 <input type="hidden" name="MAX_FILE_SIZE" value="1024">
 <!-- <input type="hidden" name="MAX_FILE_SIZE" value="1024">通過建立隱藏域來控制文件上傳的大小
 在頁面上進行判斷,value是1024kb,這是客戶端上設(shè)置的限制,最好是服務(wù)器做限制 -->
 <input type="submit" value="上傳"/>
 </form>
</body>
</html>

PHP服務(wù)端部分

<?php 
header("Content-type: text/html; charset=utf-8"); 
 //預(yù)定義變量
 //print_r($_FILES);//可以顯示錯誤號,根據(jù)錯誤號來定位錯誤信息
 $filename=$_FILES['myFile']['name'];
 $type=$_FILES['myFile']['type'];
 $tmp_name=$_FILES['myFile']['tmp_name'];//存儲地址
 $error=$_FILES['myFile']['error'];//錯誤類型
 $size=$_FILES['myFile']['size'];//文件大小
 $filenamemd5=getUniName($filename);
 // $types="jpg";//只能上傳圖片
 $limitsize="185000";//控制圖片大小
 $a=getExt($filename);
 //$getext=getExt($filename);
 //得到文件的擴展名
 function getExt($filename){
 $first=explode(".",$filename); //文件名開始以.分割
 $ext=strtolower(end($first)); //取出數(shù)組中的最后一個數(shù)組進行返回
 return $ext;
 }
 //文件名以時間戳微秒md5加密的形式出現(xiàn),確保文件的唯一
 function getUniName(){
 return md5(microtime(true));
 }
 //echo getUniName(); 返回md5加密的數(shù)值

 function gettypes($a){
  $array=array(jpg,png,txt);
 $b=in_array($a,$array);
 return $b;
 }

  if($limitsize>=$size){
  if(gettypes($a)){
  if($error==0){
   if (is_uploaded_file($tmp_name)) {
    //將服務(wù)器上的臨時文件移動到指定目錄
    $filename=$filenamemd5.".".getExt($filename);
    $destination="uploads/".$filename;
    if(move_uploaded_file($tmp_name, $destination)){
    //檢測這個臨時文件是否為post方式
    //返回鎮(zhèn)或者假
    echo $filename."---"."文件上傳成功";
   }else{
   echo "你不是post上傳的,非法操作";
   }
  }else{
   echo "{$filename}文件移動失敗";
  }
  }else{
   switch ($error) {
   case 1:
    echo "超過php配置文件upload_max_filesize的值";
    break;

   case 2:
    echo "超過表單max_file_size的值";
    break;
   case 3:
    echo "部分文件被上傳";
    break;
   case 4:
    echo "沒有文件被上傳";
    break;
   case 6:
   case 7:
    echo "未知錯誤";
   }
  }
  }else{
  echo "只能上傳圖片";
  }
 }else{
  echo "超出上傳文件大小限制";
 }

 ?>

php有什么特點

1、執(zhí)行速度快。2、具有很好的開放性和可擴展性。3、PHP支持多種主流與非主流的數(shù)據(jù)庫。4、面向?qū)ο缶幊蹋篜HP提供了類和對象。5、版本更新速度快。6、具有豐富的功能。7、可伸縮性。8、功能全面,包括圖形處理、編碼與解碼、壓縮文件處理、xml解析等。

感謝各位的閱讀!關(guān)于“php如何實現(xiàn)文件上傳基本驗證”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI