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)
其实,图片预览功能非常地常见.很意外,之前遇到上传图片的时候都不需要预览,也一直没有去实现过.现在手上的项目又需要有图片预览功能,所以就动手做了一个小插件.在此分享一下思路. 一.实现图片预览的一些方 ...
随机推荐
- 前端学习(十二)js数据类型(笔记)
选项卡: for循环 for(初始值,条件,自增){} for(var i=0; i<9;i++){} 几个按钮对应相同个内容!!! -------------------- ...
- 在AndroidStudio2.3.2下JNI开发的详细步骤(转)
转自:http://blog.csdn.net/luhaoying1111/article/details/72468867 安装NDK 在工具栏点击File->Settings->App ...
- eclipse配置spring4.0环境详细教程
最近几天学习spring框架,在环境搭建过程中遇到了不少问题,网上找了不少资料都不是特别好,所以自己重新记录一下. 准备: 1.Eclipse下载,进官网,这里直接给链接了https://www.ec ...
- 二进制搭建一个完整的K8S集群部署文档
服务器规划 角色 IP 组件 k8s-master1 192.168.31.63 kube-apiserver kube-controller-manager kube-scheduler etcd ...
- PHP FILTER_VALIDATE_URL 过滤器
定义和用法 FILTER_VALIDATE_URL 过滤器把值作为 URL 来验证. Name: "validate_url" ID-number: 273 可能的标志: FILT ...
- PHP中关于Phar的学习
什么是phar 一个PHP程序往往是由多个文件组成的,如果能够集中为一个文件来分发和运行是很方便的.phar便应运而生.大概跟java的jar文件是差不多类似的.但是php的phar文件是可以由php ...
- NYOJ 301 递推求值
第一次写博客,拿个矩阵快速幂练练手吧. 首先什么是快速幂,快速幂是让复杂度由线性降为log n的算法,比如8^1024次方暴力要算1024次,但是矩阵快速幂只算10次就好. 此题只不过是把快速幂的底数 ...
- fatal error C1047: 对象或库文件“.\x64\Release\Des.obj”是使用比创建其他对象所用编译器旧的编译器创建的;请重新生成旧的对象和库
问题描述: 在把一个32位的dll编译成64位的时候提示上面的错误 解决办法: >属性->常规->项目默认值->全程序优化 将这里的默认项 "使用链接时间代码生成& ...
- 修改 Chrome浏览器主页被劫持 chrome 主页被篡改成hao.qquu8.com的解决方案
1. 开始菜单输入‘g'找到 Google Chrome浏览器 2. 修改属性->目标,将 chrome.exe hao.qquu8.com 后面的网址去掉,如图:
- PAT_A1041#Be Unique
Source: PAT A1041 Be Unique (20 分) Description: Being unique is so important to people on Mars that ...