本文实例为大家分享了php实现文件上传基本验证的具体代码,供大家参考,具体内容如下
Html部分
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<!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服务端部分
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
<?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 "超出上传文件大小限制" ; } ?> |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/weixin_36171533/article/details/78888454