1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5 <title>上传图片</title>
6 </head>
7
8 <body><div align="center" style="width:50%; height:300px; font-size:13px">
9 <h3>上传图片预览</h3>
10 <form name="frm" method="post" enctype="multipart/form-data">
11 <font style="letter-spacing:1px" color="#FF0000">*只允许上传jpg|png|bmp|pjpeg|gif格式的图片</font><br/><br/>
12 请选择图片:
13 <input name='upfile' type='file'/>
14 <input name="btn" type="submit" value="上传" /><br />
15 </form>
16 <?php
17 //全局变量
18 $arrType=array('image/jpg','image/gif','image/png','image/bmp','image/pjpeg');
19 $max_size='500000'; // 最大文件限制(单位:byte)
20 $upfile='./image/human'; //图片目录路径
21 $file=$_FILES['upfile'];
22
23 if($_SERVER['REQUEST_METHOD']=='POST'){ //判断提交方式是否为POST
24 if(!is_uploaded_file($file['tmp_name'])){ //判断上传文件是否存在
25 echo "<font color='#FF0000'>文件不存在!</font>";
26 exit;
27 }
28
29 if($file['size']>$max_size){ //判断文件大小是否大于500000字节
30 echo "<font color='#FF0000'>上传文件太大!</font>";
31 exit;
32 }
33 if(!in_array($file['type'],$arrType)){ //判断图片文件的格式
34 echo "<font color='#FF0000'>上传文件格式不对!</font>";
35 exit;
36 }
37 if(!file_exists($upfile)){ // 判断存放文件目录是否存在
38 mkdir($upfile,0777,true);
39 }
40 $imageSize=getimagesize($file['tmp_name']);
41 $img=$imageSize[0].'*'.$imageSize[1];
42 $fname=$file['name'];
43 $ftype=explode('.',$fname);
44 $picName=$upfile."/cloudy".$fname;
45
46 if(file_exists($picName)){
47 echo "<font color='#FF0000'>同文件名已存在!</font>";
48 exit;
49 }
50 if(!move_uploaded_file($file['tmp_name'],$picName)){
51 echo "<font color='#FF0000'>移动文件出错!</font>";
52 exit;
53 }
54 else{
55 echo "<font color='#FF0000'>图片文件上传成功!</font><br/>";
56 echo "<font color='#0000FF'>图片大小:$img</font><br/>";
57 echo "图片预览:<br><div style='border:#F00 1px solid; width:200px;height:200px'>
58 <img src=\"".$picName."\" width=200px height=200px>".$fname."</div>";
59 }
60 }
61 ?>
62
63 </div>
64 </body>
65 </html>