PHP文件上传原理简单分析


Posted in PHP onMay 29, 2011

//表单上传只能使用multipart/form-data编码格式
$_FILES系统函数;
$_FILES['myFile']['name']文件名称
$_FILES['myFile']['type']文件的类型,服务端进行限制
image/**
image/x-png
application/x-zip-compressed
$_FILES['myFile']['size']上传文件大小
$_FILES['myFile']['tmp_name']上传服务后保存临时文件名
$_FILES['myFile']['error']错误代码;
0成功1超过php.ini大小2超过MAX_FILE_SIZE选项指定的值
3只有部分上传 5上传文件大小为0

move_uploaded_file(临时文件,目标位置和文件名);
上传后移动文件到目标位置的函数
is_uploaded_file(MIME);
判断上传MIME类型的文件函数

<form enctyoe="multipart/form-data" method="post" name="upload"> 
<input name="upfile" name="name"> 
</form> 
if(is_uploaded_file($_FILES['myFile']['tmp_name'])){ 
$upfile = $_FILES['upload']; 
$name = $upfile['name']; 
$type = $upfile['type']; 
$size = $upfile['size']; 
$tmp_name = $upfile['tmp_name']; 
$error = $upfile['error']; 
switch($type){ 
case 'image/pjpeg' : $ok=1; 
break 
} 
if($ok){ 
move_uploaded_file($tmp_name,'up/'.$name); 
}else{ 
echo "文件类型不允许"; 
} 
}
PHP 相关文章推荐
windows下升级PHP到5.3.3的过程及注意事项
Oct 12 PHP
php获取post中的json数据的实现方法
Jun 08 PHP
PHP中“简单工厂模式”实例代码讲解
Sep 04 PHP
基于empty函数的输出详解
Jun 17 PHP
使用phpQuery采集网页的方法
Nov 13 PHP
Zend Framework创建自己的动作助手详解
Mar 05 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
Mar 21 PHP
PHPCMS V9 添加二级导航的思路详解
Oct 20 PHP
php基于自定义函数记录log日志方法
Jul 21 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 PHP
php实现等比例压缩图片
Jul 26 PHP
PHP中常见的密码处理方式和建议总结
Oct 14 PHP
php修改时间格式的代码
May 29 #PHP
PHP第一季视频教程(李炎恢+php100 不断更新)
May 29 #PHP
PHP获取文件绝对路径的代码(上一级目录)
May 29 #PHP
php学习之变量的使用
May 29 #PHP
php学习之数据类型之间的转换代码
May 29 #PHP
jQuery 源码分析笔记
May 25 #PHP
PHP显示今天、今月、上月、今年的起点/终点时间戳的代码
May 25 #PHP
You might like
dedecms中常见问题修改方法总结
2007/03/21 PHP
用PHP读取超大文件的实例代码
2012/04/01 PHP
用prototype实现的简单小巧的多级联动菜单
2007/03/24 Javascript
神奇的代码 通杀各种网站-可随意修改复制页面内容
2008/07/17 Javascript
JavaScript中__proto__与prototype的关系深入理解
2012/12/04 Javascript
动态改变div的z-index属性的简单实例
2013/08/08 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
2014/04/12 Javascript
一个简单的动态加载js和css的jquery代码
2014/09/01 Javascript
js数组去重的hash方法
2016/12/22 Javascript
ES6新特性八:async函数用法实例详解
2017/04/21 Javascript
微信小程序获取手机号授权用户登录功能
2017/11/09 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
2018/04/23 Javascript
浅谈Node.js 沙箱环境
2018/05/15 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
vue3.0 CLI - 2.1 -  component 组件入门教程
2018/09/14 Javascript
vue项目部署到nginx/tomcat服务器的实现
2019/08/26 Javascript
Vue 中使用 typescript的方法详解
2020/02/17 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
[06:23]2014DOTA2西雅图国际邀请赛 小组赛7月12日TOPPLAY
2014/07/12 DOTA
[01:06:19]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第二场 1月8日
2021/03/11 DOTA
python中使用mysql数据库详细介绍
2015/03/27 Python
Python字符串转换成浮点数函数分享
2015/07/24 Python
python中的计时器timeit的使用方法
2017/10/20 Python
Linux下python3.6.1环境配置教程
2018/09/26 Python
python命令 -u参数用法解析
2019/10/24 Python
python实现梯度下降和逻辑回归
2020/03/24 Python
Pandas替换及部分替换(replace)实现流程详解
2020/10/12 Python
固特异美国在线轮胎店:Goodyear Tire
2019/02/23 全球购物
公务员党员评议表自我鉴定
2014/09/14 职场文书
乡镇党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
2014年信访维稳工作总结
2014/12/08 职场文书
个人先进事迹材料范文
2014/12/29 职场文书
北京英文导游词
2015/02/12 职场文书
借条格式范本
2015/05/25 职场文书
html5移动端禁止长按图片保存的实现
2021/04/20 HTML / CSS
对讲机的最大通讯距离是多少
2022/02/18 无线电