概要

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上传原理及应用的更多相关文章

  1. Spring Boot 文件上传原理

    首先我们要知道什么是Spring Boot,这里简单说一下,Spring Boot可以看作是一个框架中的框架--->集成了各种框架,像security.jpa.data.cloud等等,它无须关 ...

  2. php文件上传原理详解(含源码)

    1.文件上传原理 将客户端的文件上传到服务器,再将服务器的临时文件上传到指定目录 2.客户端配置 提交表单 表单的发送方式为post 添加enctype="multipart/form-da ...

  3. 补习系列(11)-springboot 文件上传原理

    目录 一.文件上传原理 二.springboot 文件机制 临时文件 定制配置 三.示例代码 A. 单文件上传 B. 多文件上传 C. 文件上传异常 D. Bean 配置 四.文件下载 小结 一.文件 ...

  4. PHP上传原理及操作实现

    关于PHP上传文件的函数类库,网上有许多封装很完善,大家直接拿来用就可以. 本文章只是说下关于上传原理和简单的上传操作,老鸟就无视了哈^_^~ 还有一些安全性判断比如:服务端限制能接收图片类型的文件, ...

  5. Java Web文件上传原理分析(不借助开源fileupload上传jar包)

    Java Web文件上传原理分析(不借助开源fileupload上传jar包) 博客分类: Java Web   最近在面试IBM时,面试官突然问到:如果让你自己实现一个文件上传,你的代码要如何写,不 ...

  6. HTTP文件上传原理

    前言 对于这块知识点,我一直都是模糊的,不是非常清楚的.在平时的工作中,遇到上传的问题,也没有深入的去研究过,也都是直接用别人封装好的类来完成自己的工作.某一天,看了本书,说到这个知识点,一脸茫然,觉 ...

  7. Struts2单文件上传原理及示例

    一.文件上传的原理 表单元素的enctype属性指定的是表单数据的编码方式,该属性有3个值: 1.application/x-www-form-urlencoded:这是默认编码方式,它只处理表单域里 ...

  8. FormData兼容IE10 360及DWR的异步上传原理

    摘自:https://github.com/henryluki/FormData/blob/master/formdata.js if(!window.FormData) { (function(se ...

  9. 常见的文件上传方法有哪些?Ajax文件上传原理是什么?

    Ajaxfileupload,Ajaxupload,JqueryUploadify无刷新式的文件上传,在一个页面里嵌入一个Iframe,然后在Iframe使用原生的Post表单提交.

  10. Openstack的镜像上传原理

    openstack的horizon的上传镜像流程 通过html的form表单上传文件 先上传到horizon指定的临时目录,存储起来 通过glance-api请求接口 实际上glance-api也是提 ...

随机推荐

  1. Java System类看到的一点小记

    System类 位置java.lang包中 是final类,不能被继承,不能被修改 ,不能被实例化 private System(){}私有的构造函数,不允许被其他对象进行实例化 public fin ...

  2. VM Depot 中国上的 Bitnami 镜像更新至 Ubuntu 14.04 LTS

     发布于 2014-08-13 作者 陈 忠岳 随着越来越多中国本地镜像源源不断地加入,  VM Depot 中国站点也在日益壮大(http://msopentech.com/?p=865871) ...

  3. Delhi 安装ocx的方法

    Delhi 安装ocx的方法 1.通过cmd注册 2.通过delphi 注册 然后 可以修改 classnames  改成__tlb.pas单元中的控件的名称,就可以了 例如下图:

  4. Json 的日期格式转换成DateTime

    JSON 的日期形式:”/Date(1242357713797+0800)/” , 下面我们就用以下C#的方法将他转换成DateTime类型: /// <summary> /// Json ...

  5. Linux学习笔记22——线程属性(转)

    本文来自博客园:http://www.cnblogs.com/yc_sunniwell/archive/2010/06/24/1764204.html 一.线程属性线程具有属性,用pthread_at ...

  6. HDOJ 2018 母牛的故事

    Problem Description 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测 ...

  7. 合并两个rs结果输出

    <%Const SqlDatabaseName = "DNN625"       ' 数据库名字' Const SqlPassword     = "123456& ...

  8. poj 3620 Avoid The Lakes【简单dfs】

    Avoid The Lakes Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6795   Accepted: 3622 D ...

  9. Python学习总结 06 paramiko 远程执行命令

    有时会需要在远程的机器上执行一个命令,并获得其返回结果.对于这种情况,python 可以很容易的实现. 1 工具 Python paramiko 1) Paramiko模块安装 在Linux的Term ...

  10. ODBC 中遇到的错误

    直接贴解决办法的链接: http://zhidao.baidu.com/link?url=pyd2AiazzsZr4IlMpiCdXlLC6nnao908xmqmY9QI0yj8vIGCbRPRrqh ...