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.'"/>'; ?>

浙公网安备 33010602011771号