1、显示上传页面index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="images/css.css" rel="stylesheet" type="text/css">
<title>Insert title here</title>
</head>
<body>
<!--enctype 里的东西是固定写法,上传必须要有它-->
<form enctype="multipart/form-data" action="update.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
上传文件: <input type="file" name="userfile" />
<input type="submit" value="上传" ></input>
</form>
<a href="download.php">下载</a>
<a href="look.php">查看</a>
</body>
</html>
2、执行上传功能页面update.php
<?php
/*
* 把用户上传得文件连同文件的基本信息保存到数据库里
*/
header('Content-Type: text/html; charset=GBK');
//创建一个常量
define('MAX_SIZE',2000000);
define('URL',dirname(__FILE__).'\upload');
//判断上传错误情况
if ($_FILES['userfile']['error'] > 0) {
switch ($_FILES['userfile']['error']) {
case 1: echo "<script>alert('上传文件超过约定值1');history.back();</script>";
break;
case 2: echo "<script>alert('上传文件超过约定值2');history.back();</script>";
break;
case 3: echo "<script>alert('部分被上传');history.back();</script>";
break;
case 4: echo "<script>alert('没有任何文件被上传');history.back();</script>";
break;
}
exit;
}
//判断配置大小
if ($_FILES['userfile']['size'] > MAX_SIZE) {
echo "<script>alert('上传文件不得超过2M');history.back();</script>";
exit;
}
//判断目录是否存在
if (!is_dir(URL)) {
mkdir(URL,0777); //最大权限0777,意思是,如果没有这个目录,那么就创建
}
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
//就在这里移动了。
//第一个参数,写上临时文件的地址,
//第二个参数,第二个参数写上你要存放的地址
//先去判断这个目录是否存在。
//如果想屏蔽掉警告,直接加上@
if (!@move_uploaded_file($_FILES['userfile']['tmp_name'],URL.'/'.$_FILES['userfile']['name'])) {
//如果移动失败,就失败
echo "<script>alert('移动失败');history.back();</script>";
exit;
}
} else {
echo "<script>alert('临时文件夹找不到上传的文件');history.back();</script>";
exit;
}
//全部通过就上传成功了。
//必须传一个值给success.php
//文件上传的地址
echo "<script>alert('文件上传成功');location.href='success.php?url=".$_FILES['userfile']['name']."';</script>"
?>
3、上传成功页面success.php
<?php
/*
* 显示文件信息
*/
$url = $_GET['url'];
echo '<img src="upload/'.$url.'" />';
?>