<?php
$fileinfo=$_FILES["myfile"];
function uploadfile($fileinfo,$allowext=array('jpeg','jpg','pnd','gif','wbmp'),$flag=true,$maxsize=2097152){
//判断错误信息
if($fileinfo['error']>0)
{switch($fileinfo['error']){case 1:$mes= "上传文件超过了PHP配置文件中upload_max_filesize选项的值";break;case 2:$mes= "超过了表单MAX_FILE_SIZE的限制大小";break;case 3:$mes= "文件部分被上传";break;case 4:$mes= "没有选择上传文件";break;case 6:$mes= "没有找到临时目录";break;case 7:case 8:$mes= "系统错误";break;}exit($mes);}//判断上传文件类型是不是在规定类型中$allowext=array('jpeg','jpg','pnd','gif','wbmp');   //定义一下允许的上传文件类型$ext=strtolower(end(explode(',',$fileinfo['name'])));//截取上传文件扩展名if(!in_array($ext,$allowext))    // 判断上传文件的扩展名是不是在定义类型中
    {exit('非法文件类型');    }//判断上传文件大小$maxsize=2097152;         //写最大的字节数,自己算if($fileinfo['size']>$maxsize){exit('上传文件过大');}//判断文件是否是通过HTTP POST方式上传上来的if(!is_uploaded_file($fileinfo['tmp_name'])){exit('文件不是通过HTTP POST方式上传上来的');}//检测是否为真实的图片类型,而不是认为改动的$flag=true;if($flag){if(!getimagesize($fileinfo['tmp_name'])){echo "不是真实的图片类型";}}//判断服务器上存储的文件夹在不在
$path='uploads';  //服务器上存储文件的文件名if(!file_exists($path)){mkdir($path,0777,true);//不存在就创建一个目录chmod($path,0777);//加一个权限
        }
$uniname=md5(uniqid(microtime(true),true)).'.'.$ext;   //通过MD5加密等措施给文件名取名,产生唯一文件名$destination=$path.'/'.$uniname;if(!move_uploaded_file($fileinfo['tmp_name'],$destination)) //上传文件
    {echo "文件上传失败";}return array('newname'=>$destination,'size'=>$fileinfo['size'],'type'=>$fileinfo['type']);}

转载于:https://www.cnblogs.com/xingyue1988/p/6235337.html

php部分---单文件上传的封装类相关推荐

  1. Ajax(form表单文件上传、请求头之contentType、Ajax传递json数据、Ajax文件上传)

    form表单文件上传 上菜 file_put.html <form action="" method="post" enctype="multi ...

  2. vueform表单文件上传_峰哥说技术系列-8.Spring Boot文件上传(Form表单和Ajax方式)

    今日份主题 Spring Boot文件上传(Form表单和Ajax方式) 在Spring Boot中,和文件上传的主要和MultipartResolver接口有关,他有两个实现类 StandardSe ...

  3. IOS开发基础之单文件上传基础最原始的方式

    IOS开发基础之单文件上传基础最原始的方式 info.plist 加入一行代码 <key>NSAppTransportSecurity</key><dict>< ...

  4. php怎么上传函数,PHP单文件上传原理及上传函数的封装操作示例

    搜索热词 @H_404_0@本文实例讲述了PHP单文件上传原理及上传函数的封装操作.分享给大家供大家参考,具体如下: @H_404_0@表单: @H_404_0@0.PHP: 无标题文档 请选择您要上 ...

  5. themyleaf 图片上传_javaEE --springboot #实现图片上传和回显 #单文件上传 #多文件上传 #ajax异步文件上传 (非常详细,从创建项目开始)...

    实现文件上传和回显 1.新建一个SpringBoot项目,选择 Spring Web 和 thymeleaf 依赖 .pow.xml文件下的依赖如下 2.根据下图,创建如下文件 3.直接上代码 配置文 ...

  6. php 打包上传的文件,PHP单文件上传原理及上传函数的打包

    PHP单文件上传原理及上传函数的封装 服务器(临时文件)-->指定目录,当文件进入服务器时它就是临时文件了,这时操作中要用临时文件的名称tmp_name.//在客户端设置上传文件的限制(文件类型 ...

  7. html页面选择附件实现,实现单文件上传,页面局部刷新_html/css_WEB-ITnose

    实现单文件上传,页面不刷新 1.html fjFileInsert.action执行文件上传,然后返回数据到upLoad.html页面,upLoad.html页面在iframe中隐藏起来 当执行完毕, ...

  8. SpringMVC 单文件上传与多文件上传

    一.简述 一个javaWeb项目中,文件上传功能几乎是必不可少的,本人在项目开发中也时常会遇到,以前也没怎么去理它,今天有空学习了一下这方面的知识,于是便将本人学到的SpringMVC中单文件与多文件 ...

  9. java批量上传文件_Spring Boot2(十四):单文件上传/下载,文件批量上传

    文件上传和下载在项目中经常用到,这里主要学习SpringBoot完成单个文件上传/下载,批量文件上传的场景应用.结合mysql数据库.jpa数据层操作.thymeleaf页面模板. 一.准备 添加ma ...

最新文章

  1. 转载-Android数据库高手秘籍(一)——SQLite命令
  2. C++模板特化的一个BUG?
  3. 解决VERSION 1.7 OF THE JVM IS NOT SUITABLE FOR THIS PRODUCT.
  4. python实现英文新闻摘要自动提取_Automotive Innovation摘要集系列2:Intelligent and Connected Vehicles...
  5. php数字转千分制,JS实现金额千分制的转换以及还原
  6. HDU 漫步校园 (记忆化搜索)
  7. (转)JS页面间传值
  8. win10计算机管理权限,win10如何获取管理员权限?win10获取最高权限的方法
  9. STM8S系列基于STVD标准库外设库开发,PWM输出实现LED呼吸灯效果
  10. 【渝粤教育】广东开放大学 质量认证认可 形成性考核 (31)
  11. TTMS剧院票务管理系统全网最全!!!不接受反驳
  12. 项目规模估计方法介绍
  13. 用matlab对2003年香港SARS数据建模预估新冠病毒在H市的疫情走势
  14. HackerRank 题目目录
  15. 微信小程序 发布后强制更新版本 强制覆盖老版本
  16. Echarts调整饼图大小、位置和柱状图高低、柱的宽度
  17. elementui icon图标大全
  18. STM32看门狗简述
  19. 在mysql怎样查询地址和电话_如何使用mysql查询语句从用户手机号中提取纯号码...
  20. LU分解法matlab程序。

热门文章

  1. 见面才是最好的沟通方式,商机都藏在聊天中
  2. 做自媒体也要注意“轻资产”
  3. 你知道“借鸡生蛋”吗?学会这个方法,没钱没人脉你也可以创业
  4. 有的朋友问我创业没有资金怎么办?
  5. 什么样的人才容易被骗?
  6. 阿里达摩院为什么吸引到世界顶尖人才?
  7. 华硕固件,梅林固件,高恪固件等等有什么区别?
  8. Java中@WebServlet的使用方法
  9. sql还原数据库备份数据库_如何获取SQL数据库还原历史记录
  10. sql azure 语法_方便SQL笔记本,用于在Azure Data Studio中进行故障排除