php上传(一)
php上传基础知识总结
1.文件上传 1》文件上传的原理:将客户端上的文件通过浏览器上传到服务器上,
在将服务器上的文件移动到指定目录。 2》客户端的配置
表单页面,浏览框
method='post'
enctype='multipart/form-data' 3》服务器端配置
$_FILES:接受上传文件信息 $_FILES['浏览框名称']['name']->上传文件的名称
$_FILES['浏览框名称']['type']->上传文件的MIME类型
$_FILES['浏览框名称']['tmp_name']->服务器端临时文件名称
$_FILES['浏览框名称']['size']->上传文件的大小,单位是字节
$_FILES['浏览框名称']['error']->上传文件的错误号 上传文件的错误号: 0 或者UPLOAD_ERR_OK:代表没有错误,证明客户端上的文件发送到了服务器端
1或者UPLOAD_ERR_INI_SIZE:超过了PHP配置文件允许上传的文件的最大大小,upload_max_filesize=选项的值
2或者UPLOAD_ERR_FORM_SIZE:超过了表单中限制上传文件的最大大小,超过了MAX_FILE_SIZE选项的值
3或者UPLOAD_ERR_PARTIAL:文件部分被上传
4或者UPLOAD_ERR_NO_FILE:没有选择上传文件
6或者UPLOAD_ERR_NO_TMP_DIR:没有找到临时目录
7或者UPLOAD_ERR_CANT_WRITE:目录不能写
8或者UPLOAD_ERR_EXTENSION:由于PHP扩展程序中断了文件上传 和文件上传有关的配置信息:
file_uploads = On,是否支持通过HTTP形式上传文件
upload_tmp_dir =上传文件的临时目录
upload_max_filesize = 2M,设置上传文件的最大大小
post_max_size = 8M,设置表单以POST形式发送数据的最大值
max_file_uploads = 20,一次最多可以上传多少个文件
$_FILES是空数组,上传文件为Array()数组的情况,没有接到上传文件信息的可能:
1》表单中method 和enctype
2》file_uploads是否开启 bool move_uploaded_file($tmp_name,$destination):将服务器端的临时文件移动指定目录下,
叫什么名字;移动成功,返回true,失败false 3》上传文件限制
客户端限制
限制上传文件大小
<input type='hidden' name='MAX_FILE_SIZE' value='文件大小,单位字节'/> 限制上传文件类型
<input type='file' name='myFile' accept='上传文件的MIME类型,多个类型之间以,分隔'/> 常用的文件的MIME类型
扩展名 MIME类型
jpg/jpeg image/jpeg
gif image/gif
png image/png
html text/html
txt text/plain
pdf application/pdf
在客户端上做的限制,可以绕过 服务器端限制
限制上传文件的大小
限制上传文件的类型
限制是否是通过HTTP POST方式上传的
检测是否是真实图片 //1.接收信息 //2.判断错误号(有错误的话匹配错误) //3.检测上传文件的大小 //4.检测上传文件的类型 //5.检测文件是否通过HTTP POST方式上传上来的 //6.最后移动文件
php上传(一)的更多相关文章
- Asp.Net Mvc 使用WebUploader 多图片上传
来博客园有一个月了,哈哈.在这里学到了很多东西.今天也来试着分享一下学到的东西.希望能和大家做朋友共同进步. 最近由于项目需要上传多张图片,对于我这只菜鸟来说,以前上传图片都是直接拖得控件啊,而且还是 ...
- PHP搭建大文件切割分块上传功能
背景 在网站开发中,文件上传是很常见的一个功能.相信很多人都会遇到这种情况,想传一个文件上去,然后网页提示"该文件过大".因为一般情况下,我们都需要对上传的文件大小做限制,防止出现 ...
- jquery.uploadify文件上传组件
1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...
- 如何在nuget上传自己的包+搭建自己公司的NuGet服务器(新方法)
运维相关:http://www.cnblogs.com/dunitian/p/4822808.html#iis 先注册一个nuget账号https://www.nuget.org/ 下载并安装一下Nu ...
- 06.LoT.UI 前后台通用框架分解系列之——浮夸的图片上传
LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...
- 百度 flash html5自切换 多文件异步上传控件webuploader基本用法
双核浏览器下在chrome内核中使用uploadify总有302问题,也不知道如何修复,之所以喜欢360浏览器是因为帮客户控制渲染内核: 若页面需默认用极速核,增加标签:<meta name=& ...
- input[tyle="file"]样式修改及上传文件名显示
默认的上传样式我们总觉得不太好看,根据需求总想改成和上下结构统一的风格…… 实现方法和思路: 1.在input元素外加a超链接标签 2.给a标签设置按钮样式 3.设置input[type='file' ...
- 11、Struts2 的文件上传和下载
文件上传 表单准备 要想使用 HTML 表单上传一个或多个文件 须把 HTML 表单的 enctype 属性设置为 multipart/form-data 须把 HTML 表单的method 属性设置 ...
- IE8/9 JQuery.Ajax 上传文件无效
IE8/9 JQuery.Ajax 上传文件有两个限制: 使用 JQuery.Ajax 无法上传文件(因为无法使用 FormData,FormData 是 HTML5 的一个特性,IE8/9 不支持) ...
- JS图片上传预览插件制作(兼容到IE6)
其实,图片预览功能非常地常见.很意外,之前遇到上传图片的时候都不需要预览,也一直没有去实现过.现在手上的项目又需要有图片预览功能,所以就动手做了一个小插件.在此分享一下思路. 一.实现图片预览的一些方 ...
随机推荐
- Spring事务管理-传播行为-隔离级别
事务是逻辑上的一组操作,这组操作要么全部成功,要么全部失败. 事务的特性:ACID 原子性:事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生 一致性:事务前后数据的完整性约束保持一致 ...
- BD贴吧图片爬虫
#encoding:utf-8 import urllib import urllib.request from lxml import etree class Spider(object): def ...
- javascript null vs undefined
这个是很古老的问题了. 一直存在争议,有些人认为,很多语言没用 undefined 也活的好好,为啥要 undefined 呢. 那有了 undefined 是否还需要 null 呢 ? typesc ...
- MySQL常用操作2
MySQL常用操作2 判断函数 IF(expr, value1, value2) -- 如果表达式expr为true,则返回value1,否则返回value2 IFNULL(value1, val ...
- 赋能时空云计算,阿里云数据库时空引擎Ganos上线
随着移动互联网.位置感知技术.对地观测技术的快速发展,时空信息已从传统GIS行业渗透到大众应用及各行各业.从静态POI(兴趣点)到APP位置信息,从导航电子地图到车辆行驶轨迹,从卫星影像到三维城市建模 ...
- Windows注册表的学习
什么是注册表 注册表是Windows在Win95/98系统开始引入的一种核心数据库,里面存放着各类的配置信息.参数等.直接控制着系统的启动.硬件的装载以及Winodws程序的运行 手册表的功能 记录用 ...
- NX二次开发-Block UI C++界面Body Collector(体收集器)控件的获取(持续补充)
Body Collector(体收集器)控件的获取 NX9+VS2012 #include <uf.h> #include <uf_obj.h> UF_initialize() ...
- wampServer2.2 You don't have permission to access /phpmyadmin/ on this server.
You don't have permission to access /phpmyadmin/ on this server. 打开 然后
- Java-Class-C:com.github.pagehelper.PageInfo
ylbtech-Java-Class-C:com.github.pagehelper.PageInfo 1.返回顶部 2.返回顶部 1.1. import com.github.pagehelpe ...
- 【SQL】事务回滚
事务(Transaction)是并发控制的单位,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位.通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服 ...