PHP实现文件上传
2015-11-20 23:18
211 查看
这是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格式的文件"; } } } } ?>
相关文章推荐
- XML省市区三级联动
- 【博客开篇】服务器配置:Windows2008R2+PHP5.6+SQLServer2008(X64)
- PHP正则表达式
- PHP语法(二):数据类型、运算符和函数
- php后台“爬虫”模拟登录第三方系统(二)---正则表达式的介绍
- 一步一步制作yaffs/yaffs2根文件系统(八)---总结及怎么样使系统自动启动自己编写的程序
- 一步一步制作yaffs/yaffs2根文件系统(七)---真挚地道歉以及纠正前边出现的错误!
- 一步一步制作yaffs/yaffs2根文件系统(六)---完善命令行提示符
- 一步一步制作yaffs/yaffs2根文件系统(五)---生成yaffs/yaffs2镜像文件及下载到开发板
- 一步一步制作yaffs/yaffs2根文件系统(四)---构建etc、dev等剩余目录
- 一步一步制作yaffs/yaffs2根文件系统(三)---使用glibc库构造 /lib
- php引入lucene搜索引擎方法.
- 一步一步制作yaffs/yaffs2根文件系统(一)---储备好基础知识再打
- PHP设计模式之单例模式
- PHP中命名空间
- Yii2实现读写分离(MySQL主从数据库)
- 【文件】FileOutputStream 出现 FileNotFoundException
- php关于使用iconv(...)函数对字符进行中文转换时,遇到的一个问题
- PHP操作sphinx流程
- html和php编写系统登录和信息查询