PHP上传原理及应用
概要
1.FORM表现enctype属性
2.$_FILES系统函数
3.move_uploaded_file函数
4.is_uploaded_file函数
1.FORM标签的enctype属性
只有使用了multipart/form-date才能完整的文件数据传递。
也就是设置表单的MIME编码
<form enctype=”multipart/form-data method=”post” name=”upform”></form>
input标签type属性中的"file”
<input name=”upfile” type=”file”>
2.$_FILE[‘myfile’][‘name’] 客户端文件的原名称
$_FILE[‘myfile’]['type']
$_FILE[‘myfile’]['size']
$_FILE[‘myfile’][‘tmp_name’]
$_FILE[‘myfile’][‘error’]该文件上传相关的错误代码
0:文件上传成功
1:超过了文件大小php.ini中。
2.超过文件大小,MAX_FILE_SIZE选项指定的值。
3.文件只有部分被上传
4.没有文件被上传
5.上传文件大小为0.
3.move_uploaded_file函数
上传后移动文件到目标位置的函数
move_uploaded_file(临时文件,目标位置和文件名);
4.is_uploaded_file函数
判断上传MIME类型的文件函数
move_uploaded_file(MIME);
<?php
if(is_uploaded_file($_FILES['upfile']['tmp_name'])){
$upfile=$_FILES["upfile"];
$name = $upfile["name"];
$type = $upfile["type"];
$size = $upfile["sizes"];
$tmp_name = $upfile["tmp_name"];
$error = $upfile["error"];
//echo $name;
//echo $type;
//echo $type;
//echo $size;
//echo $tmp_name;
//echo $error;
switch($type)
{
case 'image/pjpeg' :$ok=1;
break;
case 'image/jpeg' :$ok=1;
break;
case 'image/png' :$ok=1;
break;
}
}
if($ok && $error == '0'){
move_uploaded_file($tmp_name,'upfile_tmp/'.$name);
echo "上传成功!";
}
?>
<form action="" enctype="multipart/form-data" method="post" name="upform">上传文件
<input name="upfile" type="file"></input>
<input type="submit" value="上传"></input></br>
</form>
PHP上传原理及应用的更多相关文章
- Spring Boot 文件上传原理
首先我们要知道什么是Spring Boot,这里简单说一下,Spring Boot可以看作是一个框架中的框架--->集成了各种框架,像security.jpa.data.cloud等等,它无须关 ...
- php文件上传原理详解(含源码)
1.文件上传原理 将客户端的文件上传到服务器,再将服务器的临时文件上传到指定目录 2.客户端配置 提交表单 表单的发送方式为post 添加enctype="multipart/form-da ...
- 补习系列(11)-springboot 文件上传原理
目录 一.文件上传原理 二.springboot 文件机制 临时文件 定制配置 三.示例代码 A. 单文件上传 B. 多文件上传 C. 文件上传异常 D. Bean 配置 四.文件下载 小结 一.文件 ...
- PHP上传原理及操作实现
关于PHP上传文件的函数类库,网上有许多封装很完善,大家直接拿来用就可以. 本文章只是说下关于上传原理和简单的上传操作,老鸟就无视了哈^_^~ 还有一些安全性判断比如:服务端限制能接收图片类型的文件, ...
- Java Web文件上传原理分析(不借助开源fileupload上传jar包)
Java Web文件上传原理分析(不借助开源fileupload上传jar包) 博客分类: Java Web 最近在面试IBM时,面试官突然问到:如果让你自己实现一个文件上传,你的代码要如何写,不 ...
- HTTP文件上传原理
前言 对于这块知识点,我一直都是模糊的,不是非常清楚的.在平时的工作中,遇到上传的问题,也没有深入的去研究过,也都是直接用别人封装好的类来完成自己的工作.某一天,看了本书,说到这个知识点,一脸茫然,觉 ...
- Struts2单文件上传原理及示例
一.文件上传的原理 表单元素的enctype属性指定的是表单数据的编码方式,该属性有3个值: 1.application/x-www-form-urlencoded:这是默认编码方式,它只处理表单域里 ...
- FormData兼容IE10 360及DWR的异步上传原理
摘自:https://github.com/henryluki/FormData/blob/master/formdata.js if(!window.FormData) { (function(se ...
- 常见的文件上传方法有哪些?Ajax文件上传原理是什么?
Ajaxfileupload,Ajaxupload,JqueryUploadify无刷新式的文件上传,在一个页面里嵌入一个Iframe,然后在Iframe使用原生的Post表单提交.
- Openstack的镜像上传原理
openstack的horizon的上传镜像流程 通过html的form表单上传文件 先上传到horizon指定的临时目录,存储起来 通过glance-api请求接口 实际上glance-api也是提 ...
随机推荐
- Java System类看到的一点小记
System类 位置java.lang包中 是final类,不能被继承,不能被修改 ,不能被实例化 private System(){}私有的构造函数,不允许被其他对象进行实例化 public fin ...
- VM Depot 中国上的 Bitnami 镜像更新至 Ubuntu 14.04 LTS
发布于 2014-08-13 作者 陈 忠岳 随着越来越多中国本地镜像源源不断地加入, VM Depot 中国站点也在日益壮大(http://msopentech.com/?p=865871) ...
- Delhi 安装ocx的方法
Delhi 安装ocx的方法 1.通过cmd注册 2.通过delphi 注册 然后 可以修改 classnames 改成__tlb.pas单元中的控件的名称,就可以了 例如下图:
- Json 的日期格式转换成DateTime
JSON 的日期形式:”/Date(1242357713797+0800)/” , 下面我们就用以下C#的方法将他转换成DateTime类型: /// <summary> /// Json ...
- Linux学习笔记22——线程属性(转)
本文来自博客园:http://www.cnblogs.com/yc_sunniwell/archive/2010/06/24/1764204.html 一.线程属性线程具有属性,用pthread_at ...
- HDOJ 2018 母牛的故事
Problem Description 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测 ...
- 合并两个rs结果输出
<%Const SqlDatabaseName = "DNN625" ' 数据库名字' Const SqlPassword = "123456& ...
- poj 3620 Avoid The Lakes【简单dfs】
Avoid The Lakes Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6795 Accepted: 3622 D ...
- Python学习总结 06 paramiko 远程执行命令
有时会需要在远程的机器上执行一个命令,并获得其返回结果.对于这种情况,python 可以很容易的实现. 1 工具 Python paramiko 1) Paramiko模块安装 在Linux的Term ...
- ODBC 中遇到的错误
直接贴解决办法的链接: http://zhidao.baidu.com/link?url=pyd2AiazzsZr4IlMpiCdXlLC6nnao908xmqmY9QI0yj8vIGCbRPRrqh ...