HTML中使用type = 'file'类型的表单可以向服务器上传文件;

上传文件的表单必须在form中定义enctyp = 'multipart/form-data';

HTML代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>FileSubmit Document.</title>
</head>
<body>
<form action="user.php" method="post" enctype="multipart/form-data" name="upvideo">
上传文件:<input type="file" name="video" />
<input type="submit" value="上传"/>
</form>
</form>
</body>
</html>

PHP代码如下:

<?php

var_dump($_POST);
var_dump($_FILES); if ($_FILES['video']['error'] > 0) {
echo "Error:" .$_FILES['video']['error']. "</br>";
} else {
print_r($_FILES['video']); if (is_uploaded_file($_FILES['video']['tmp_name'])) {
$upfile = $_FILES['video'];
// 获取数组里面的值
$name = $upfile['name']; // 上传文件的文件名
$type = $upfile['type']; // 上传文件的类型
$size = $upfile['size']; // 上传文件的大小
$tmp_name = $upfile['tmp_name']; //上传文件的临时存放路径
// 移动上传的文件到指定目录
move_uploaded_file($tmp_name, '/Library/WebServer/Documents/book/' . $name);
}
}

注意:

使用print_r打印数据的时候发现第一个数组为空,这表明使用file类型表单提交数据时并不使用$_POST接受数据,而是使用全局变量$_FILES来接收;

· php默认上传文件的大小只有2MB;

例如要上传一个50MB的大文件,php.ini配置如下:

file_uploads = On

upload_tmp_dir = "/user/file"

upload_max_filesize = 50M

post_max_size = 100M

max_excution_time = 600

max_input_time = 600

PHP处理上传文件的更多相关文章

  1. IE8/9 JQuery.Ajax 上传文件无效

    IE8/9 JQuery.Ajax 上传文件有两个限制: 使用 JQuery.Ajax 无法上传文件(因为无法使用 FormData,FormData 是 HTML5 的一个特性,IE8/9 不支持) ...

  2. 三种上传文件不刷新页面的方法讨论:iframe/FormData/FileReader

    发请求有两种方式,一种是用ajax,另一种是用form提交,默认的form提交如果不做处理的话,会使页面重定向.以一个简单的demo做说明: html如下所示,请求的路径action为"up ...

  3. asp.net mvc 上传文件

    转至:http://www.cnblogs.com/fonour/p/ajaxFileUpload.html 0.下载 http://files.cnblogs.com/files/fonour/aj ...

  4. app端上传文件至服务器后台,web端上传文件存储到服务器

    1.android前端发送服务器请求 在spring-mvc.xml 将过滤屏蔽(如果不屏蔽 ,文件流为空) <!-- <bean id="multipartResolver&q ...

  5. .net FTP上传文件

    FTP上传文件代码实现: private void UploadFileByWebClient() { WebClient webClient = new WebClient(); webClient ...

  6. 通过cmd完成FTP上传文件操作

    一直使用 FileZilla 这个工具进行相关的 FTP 操作,而在某一次版本升级之后,发现不太好用了,连接老是掉,再后来完全连接不上去. 改用了一段时间的 Web 版的 FTP 工具,后来那个页面也 ...

  7. 前端之web上传文件的方式

    前端之web上传文件的方式 本节内容 web上传文件方式介绍 form上传文件 原生js实现ajax上传文件 jquery实现ajax上传文件 form+iframe构造请求上传文件 1. web上传 ...

  8. Django session cookie 上传文件、详解

    session 在这里先说session 配置URL from django.conf.urls import patterns, include, url from django.contrib i ...

  9. 4 django系列之HTML通过form标签来同时提交表单内容与上传文件

    preface 我们知道提交表单有2种方式,一种直接通过submit页面刷新方法来提交,另一种通过ajax异步局部刷新的方法提交,上回我们说了通过ajax来提交文件到后台,现在说说通过submit来提 ...

  10. 1. Django系列之Django与ajax上传文件

    html代码如下: <div class="form-group"> <label for="exampleInputFile">附件上 ...

随机推荐

  1. CLOB型转成字符型

    //oracle.sql.Clob类型转换成String类型 public static String ClobToString(Clob clob) { String reString = &quo ...

  2. Java 多线程之哪个对象才是锁?

    问题背景 在感觉正常的使用ArrayList的迭代删除的操作的时候,发现了如下的崩溃日志: Caused by: java.util.ConcurrentModificationException a ...

  3. SqlServer之like、charindex、patindex 在有无索引的情况下分析

    1.环境介绍 测试环境 SQL2005 测试数据 200W条 2.环境准备 2.1建表 CREATE TABLE [dbo].[Depratments](         [Dep_id] [int] ...

  4. Canvas 画布组件(官网翻译)

    Canvas画布 The Canvas is the area that all UI elements should be inside. The Canvas is a Game Object w ...

  5. FineUI控件集合

    FineUI(开源版)基于 ExtJS 的开源 ASP.NET 控件库. using System; using System.Collections.Generic; using System.Te ...

  6. 简单http代理服务器搭建

    1. yum install squid2. vi /etc/squid/squid.conf 将http_access deny all 中deny 改为allow,http_port后面的是端口号 ...

  7. Linux乱码问题解决

    语言设置常用命令 # echo $LANG # locale # LANG=zh_CN.UTF-8 # LANG=en   Centos6中文语言包的设置 安装CentOS时选择了中文,但在终端不能显 ...

  8. 原生拖拽js利用localstorage保存位置

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. vue的图片上传

    转载  代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  10. Spring Boot 1.4测试的改进

    对Pivotal团队来说,工作上的好事情是他们拥有一个被叫做Pivotal Labs的灵活发展部门,拥有Labs团队的Lean 和 XP程序设计方法学的强大支持,例如结对编程和测试驱动开发.他们对于测 ...