PHP学习之上传文件二

完整的上传小案例

demo1

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>demo1.php</title>
</head>

<body>
<form  method="post" enctype="multipart/form-data" action="demo2.php">
<input type="hidden" name="MAX_FILE_NAME" value="1000000" />
文件上传:<input type="file" name="myfile" />
<input type="submit" value="上传" />
</form>
</body>
</html>

demo2.php

<?php
header("Content-type: text/html; charset=utf-8");
define('MAX_SIZE',1000000);
define('URL',dirname(__FILE__).'\upload');
$filename=array('image/jpeg','image/gif','image/png','image/x-png','image/pjpeg');
//首先判断是否存在这个数组
if(is_array($filename))
{
  if(!in_array($_FILES['myfile']['type'],$filename))
  {
	  echo"<script>alert('请正确的输入类型');history.back()</script>";
	  exit;
	  }	
	}
//判断文件上传时出现的错误条数
if($_FILES['myfile']['error']>0)
{
	switch($_FILES['myfile']['error'])
	{
		case 1:echo"<script>alert('上传文件超限');history.back()</script>";
		break;
		case 2:echo"<script>alert('上传文件超限');histroy.back()</script>";
		break;
		case 3:echo"<script>alert('部分文件没上传');history.back()</script>";
		break;
		case 4:echo"<script>alert('没有找到文件');history.back()</script>";
		break;
		case 5:echo"<script>alert('文件丢失');history.back()</script>";
		break;
		case 6:echo"<script>alert('文件写入临时文件夹出错');history.back()</script>";
		break;
		}
	
	}
	//判断文件是否超限
if($_FILES['myfile']['size']>MAX_SIZE)
{
	echo"<script>alert('上传文件超限');history.back()</script>";
	exit;
	}
	
//判断目录是否存在
if(!is_dir(URL))
{
	mkdir(URL,0777);
	}
//判断是否存在在临时变量里
if(is_uploaded_file($_FILES['myfile']['tmp_name']))
{
	//判断有没有移动成功
	if(!move_uploaded_file($_FILES['myfile']['tmp_name'],URL.'\\'.$_FILES['myfile']['name']))
	{
		echo"<script>alert('移动失败');history.back()</script>";
		exit;
		
		}
	
	}
else
{
	echo"<script>alert('上传的文件没有在临时文件夹里');history.back()</script>";
	exit;
	}
	
	echo"<script>alert('上传成功');location.href='demo3.php?url=".$_FILES['myfile']['name']."'</script>";
?>

demo3.php

<?php
$url=$_GET['url'];
echo'<img src="upload/'.$url.'"/>';
?>

  

  

  

posted @ 2016-08-03 15:33  jimtang  阅读(167)  评论(0)    收藏  举报