这是PHP实现文件上传的例子
<html> <head> <meta content="text/html"charset="utf-8"></meta> </head> <body> <form method="post"enctype="multipart/form-data"> <table border="0"> <tr> <td>请上传文件:</td> <td><input type="hidden"name="MAX_FILE_SIZE"value=<?=MAX_FILE_SIZE;?>></td> <td><input type="file"name="upfile"></td> <td><input type="submit"name="sub"value="上传"></td> </tr> </table> </form> </body> </html> <?php define("MAX_FILE_SIZE",102400);//定义文件MAX_FILE_SIZE $upfile=$_FILES["upfile"]; //获取数组里的值 $name=$upfile["name"];//文件名 $type=$upfile["type"];//文件类型 $size=$upfile["size"];//文件大小 $tmp_name=$upfile["tmp_name"];//临时文件路径 if(isset($_POST["sub"])){ if(is_uploaded_file($tmp_name)){//判断上传文件是否存在 switch($type){//switch判断类型 case "image/png":$oktype=true;break; case "image/jpeg":$oktype=true;break; case "image/gif":$oktype=true;break; case "image/jpg":$oktype=true;break; case "image/bmp":$oktype=true;break; default:$oktype=true; } if($oktype){//如果返回true $error=$upfile["error"];//上传后系统返回的值 /** * 0.上传成功 * 1.超过文件大小,php.ini指定的值 * 2.超过文件大小,MAX_FILE_SIZE * 3.文件部分上传 * 4.文件上传失败 * 5.上传的文件大小为0 */ if($error==0&&$size<=MAX_FILE_SIZE){//文件大小小于MAX_FILE_SIZE echo"<br>上传成功!<br>"; //foreach($upload as $name =>$value){ //echo $name."=".$value; //} echo "文件名:".$name."<br>";//输出文件名 echo "文件大小:".$size."<br>";//输出文件大小 echo "文件类型:".$type."<br>";//输出文件类型 echo "文件临时文件路径:".$tmp_name."<br>";//输出文件临时路径 $upload="upload/";//文件目录 if(!file_exists($upload)){//判断文件目录是否存在 mkdir($upload);//不存在,则创建文件目录 chmod($upload,"700");//可读写浏览 } $iconv=iconv("utf-8","gb2312",$name);//转换编码格式 $destination=$upload.$iconv;//路径 move_uploaded_file($tmp_name,$destination);//上传成功,则移动文件到创建的目录 echo"图片预览:<br>"; echo"<img src=‘$destination‘></img>";//预览文件 }else if($error==1){//错误类型 echo "超过文件大小,在php.ini文件下修改"; }else if($error==2){ echo "超过文件大小,MAX_FILE_SIZE选项的设定值"; }else if($error==3){ echo "文件只有部分上传"; }else if($error==4){ echo "文件没有上传"; }else if($error==5){ echo "上传的文件大小为零"; }else{ echo "请上传jpeg,gif,pnh格式的文件"; } } } } ?>
时间: 2024-09-30 21:57:54