首页后端开发PHP用PHP怎样实现文件上传验证的功能,代码是什么?

用PHP怎样实现文件上传验证的功能,代码是什么?

时间2024-03-25 21:52:03发布访客分类PHP浏览1082
导读:之前我们了解了用PHP怎样实现文件上传的功能,实际的项目中我们需要对上传的文件验证,那么具体该怎样做呢?这篇文章我们来了解用PHP怎样实现文件上传验证的功能,下文有很详细的介绍,有需要的朋友可以参考,接下来就跟随小编来了解看看吧! Html...

之前我们了解了用PHP怎样实现文件上传的功能,实际的项目中我们需要对上传的文件验证,那么具体该怎样做呢?这篇文章我们来了解用PHP怎样实现文件上传验证的功能,下文有很详细的介绍,有需要的朋友可以参考,接下来就跟随小编来了解看看吧!

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,这是客户端上设置的限制,最好是服务器做限制 -->
    
 input type="submit" value="上传"/>
    
 /form>
    
/body>
    
/html>
    

PHP服务端部分

?php 
header("Content-type: text/html;
     charset=utf-8");
     
 //预定义变量
 //print_r($_FILES);
    //可以显示错误号,根据错误号来定位错误信息
 $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));
     //取出数组中的最后一个数组进行返回
 return $ext;

 }

 //文件名以时间戳微秒md5加密的形式出现,确保文件的唯一
 function getUniName(){
    
 return md5(microtime(true));

 }
    
 //echo getUniName();
 返回md5加密的数值

 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)) {
    
    //将服务器上的临时文件移动到指定目录
    $filename=$filenamemd5.".".getExt($filename);
    
    $destination="uploads/".$filename;

    if(move_uploaded_file($tmp_name, $destination)){
    
    //检测这个临时文件是否为post方式
    //返回镇或者假
    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实现文件上传验证的功能就介绍到这,上述示例具有一定的借鉴价值,感兴趣的朋友可以参考,希望能对大家有帮助,想要了解更多php文件上传验证的内容,大家可以关注其它的相关文章。

文本转载自脚本之家

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 用PHP怎样实现文件上传验证的功能,代码是什么?
本文地址: https://pptw.com/jishu/653061.html
Java lambda表达式的用法和注意事项是什么 JavaScript的两种定时器是什么,如何应用的

游客 回复需填写必要信息