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 相关文章推荐
DedeCms模板安装/制作概述
Mar 11 PHP
php xfocus防注入资料
Apr 27 PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
Sep 07 PHP
php生成shtml类用法实例
Dec 09 PHP
PHP编程基本语法快速入门手册
Jan 07 PHP
PHP 接入支付宝即时到账功能
Sep 18 PHP
PHP面向对象程序设计之类与反射API详解
Dec 02 PHP
PHP给源代码加密的几种方法汇总(推荐)
Feb 06 PHP
Laravel解决nesting level错误和隐藏index.php的问题
Oct 12 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
Mar 24 PHP
PHP代码覆盖率统计详解
Jul 22 PHP
WordPress伪静态规则设置代码实例
Dec 10 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
PHP4实际应用经验篇(8)
2006/10/09 PHP
PHP开发中常用的8个小技巧
2008/08/27 PHP
php实现等比例不失真缩放上传图片的方法
2016/11/14 PHP
PHP读取文件或采集时解决中文乱码
2021/03/09 PHP
javascript操作文本框readOnly
2007/05/15 Javascript
jQuery实现表头固定效果的实例代码
2013/05/24 Javascript
javascript弹出层输入框(示例代码)
2013/12/11 Javascript
javascript实现博客园页面右下角返回顶部按钮
2015/02/22 Javascript
jQuery实现页面顶部显示的进度条效果完整实例
2015/12/09 Javascript
javascript实现无缝上下滚动特效
2015/12/16 Javascript
jQuery文件上传控件 Uploadify 详解
2016/06/20 Javascript
vue使用vue-i18n实现国际化的实现代码
2018/04/08 Javascript
详解Vue中的scoped及穿透方法
2019/04/18 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
2020/07/27 Javascript
如何利用node转发请求详解
2020/09/17 Javascript
基于vuex实现购物车功能
2021/01/10 Vue.js
[08:07]DOTA2每周TOP10 精彩击杀集锦vol.8
2014/06/25 DOTA
[01:06:42]VP vs NewBee Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
[01:55]TI9显影之尘系列 - Evil Geniuses
2019/08/22 DOTA
python基础教程之缩进介绍
2014/08/29 Python
Python中关于字符串对象的一些基础知识
2015/04/08 Python
使用Python的Twisted框架编写非阻塞程序的代码示例
2016/05/25 Python
python网络编程调用recv函数完整接收数据的三种方法
2017/03/31 Python
python2和python3的输入和输出区别介绍
2018/11/20 Python
python3使用flask编写注册post接口的方法
2018/12/28 Python
python之生成多层json结构的实现
2020/02/27 Python
python爬取豆瓣电影排行榜(requests)的示例代码
2021/02/18 Python
简单介绍HTML5中的文件导入
2015/05/08 HTML / CSS
心理健康心得体会
2014/01/02 职场文书
《美丽的小路》教学反思
2014/02/26 职场文书
社区领导班子四风问题原因分析及整改措施
2014/09/28 职场文书
2015年试用期工作总结
2014/12/12 职场文书
四群教育工作总结
2015/08/10 职场文书
CSS3常见动画的实现方式
2021/04/14 HTML / CSS
jupyter notebook保存文件默认路径更改方法汇总(亲测可以)
2021/06/09 Python
Java 泛型详解(超详细的java泛型方法解析)
2021/07/02 Java/Android