<?php /* * 文件上传: * 一、如何控制上传文件 * 二、对上传文件判断(格式、大小) * 三、学习执行文件上传操做方法 * $_FILES 数组元素 * $_FILES[filename][name]:存储上传的文件名 * $_FILES[filename][size]:存储上传的文件大小,单位为字节 * $_FILES[filename][tmp_name]:存储文件在临时目录中使用的文件名 * $_FILES[filename][type]:存储上传文件的MIME类型,类型由"/"分隔 * $_FILES[filename][error]:存储与文件上传相关的错误代码 * 0:上传成功 * 1:上传文件的大小超出了PHP配置 * 2:表示上传文件大小超出了表单中MAX_FILE_SIZE选项所指定的值 * 3:表示文件只被上传了一部份 * 4:表示没有上载任何文件 * / if(!empty($_FILES['up_picture']['name'])){ //判断上传内容是否为空 if($_FILES['up_picture']['error']>0){ //判断文件是否能够上传到服务器 echo "上传错误:"; switch ($_FILES['up_picture']['error']){ case 1: echo "上传文件大小超出配置文件规定值"; break; case 2: echo "上传文件大小超出表单中约定的值"; break; case 3: echo "上传文件不全"; break; case 4: echo "没有上传文件"; break; } }else{ list($maintype,$subtype)=explode("/", $_FILES['up_picture']['type']);//获取上传文件类型 if($maintype!="p_w_picpath"||$subtype!="pjpeg"){ //判断上传文件格式是否正确 echo "上传文件格式不正确"; }else{ if(!is_dir("upfile")){ //判断指定目录是否存在 mkdir("upfile"); //建立目录 } $path = "upfile/".time().strtolower(strstr($_FILES['up_picture']['name'], "."));//动态建立生成文件路径 if(is_uploaded_file($_FILES['up_picture']['tmp_name'])){//判断文件是否能够上传 if(move_uploaded_file($_FILES['up_picture']['tmp_name'], $path)){ //若是上传成功 echo "文件:<span class='STYLE1'>".time().strtolower(strstr($_FILES['up_picture']['name'], ".")) ."</span> 上传成功,大小为:<span class='STYLE1'>".$_FILES['up_picture']['size']."</span>字节"; }else{ echo "上传失败"; } }else{ echo "上传文件:<span class='STYLE1'>".$_FILES['up_picture']['name']."</span>不合法!"; } } } } ?> <form action="06.php" method="post" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="100000" /> <input type="file" name="up_picture"> <input type="submit" value="上传"/> </form>