PHP移动互联网开发笔记(5)——文件的上传下载
原文地址:http://www.php100.com/html/php/rumen/2014/0326/6706.html
一、文件的上传
1、client设置:
(1)、在
标签中将enctype和method两个属性指明对应的值。
Enctype="multipart/form-data"; Method="POST"
(2)、form表单中设置一个hidden类型的input框,当中name的值为MAX_FILE_SIZE的隐藏值
2、server端设置:
(1)、$_FILES多维数组:用于存储各种上传文件有关的信息
(2)、文件上传与php配置文件的设置,例如以下面php.ini文件里的一些指令
指令 默认值 功能描写叙述
file_uploads ON 确定server上的PHP脚本能否够接受HTTP文件上传
memory_limit 8M 设置脚本能够分配的最大内存量,防止失控的脚本独占server内存
upload_max_file 2M 限制PHP处理上传文件大小的最大值。此值必须小于POST_MAX_SIZE值
post_max_size 8M 限制通过POST方法能够接受信息的最大值
upload_tmp_dir NULL 上传文件的暂时路径,能够是一个绝对路径
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF3YW5nYW5iYW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" style="vertical-align:top; border:0px">
3、PHP的文件上传及资源指令
file_uploads(boolean)
是否开启HTTP POST文件上传功能
max_execution_time(integer)
PHP脚本最长运行时间
memory_limit(integer) 单位M
PHP脚本执行的最大内存
upload_max_filesize(integer) 单位M
PHP上传文件的最大尺寸
upload_tmp_dir(string)
上传文件存储的暂时位置
post_max_size(integer) 单位M
HTTP POST数据的最大尺寸
4、$_FILES数组
$_FILES['userfile'][size]
获取上传文件的字节数
$_FILES['userfile']['type']
获取上传文件的MIME类型,每种MIME类型都是由“/”分隔的主类型和子类型组成
$_FILES['userfile']['error']
获取上传文件的错误代码,0:无不论什么错误,文件上传成功。1:上传文件大小超出了PHP配置文件里upload_max_filesize选项限定的值;2:上传文件大小超出了HTML表单中MAX_FILE_SIZE指定的值;3:表示文件仅仅被部分上传;4:表示没有上传不论什么文件。
$_FILES['userfile']['name']
获取上传文件的原始名称,包括扩展名
$_FILES['userfile']['tmp_name']
获取上传文件的暂时位置名称,这是存储在暂时文件夹中所指定的文件名称。
5、文件上传函数
is_upload_file
推断指定的文件是否是通过HTTP POST上传
bool is_upload_file(string $filename)
move_upload_file
将上传文件移至新位置
bool move_upload_file(string $filename, string $destination)
注意:文件上传后。首先会存储于server的暂时文件夹中,能够使用该函数将上传文件移动到新位置,与copy()和move()相比。它能检測并确保第一个參数filename指定的文件是否是合法上传的文件。
6、错误信息描写叙述
UPLOAD_ERR_OK{value=0}
UPLOAD_ERR_INI_SIZE{value=1}
UPLOAD_ERR_FORM_SIZE{value=2}
UPLOAD_ERR_PARTIAL{value=3}
UPLOAD_ERR_NO_FILE{value=4}
UPLOAD_ERR_NO_TMP_DIR{value=6}
UPLOAD_ERR_CANT_WRITE{value=7}
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF3YW5nYW5iYW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" style="vertical-align:top; border:0px">
二、文件下载
简单文件下载仅仅须要使用HTML的链接标记,并将属性href的URL值指定下载的文件就可以。这样的方法仅仅能处理一些浏览器不能识别的MIME类型文件。
bool touch(string $filename[, int $time[, int $time]])
bool copy(string $source, string $dest)
int file_put_contents(string $filename, string $data[, int $flag[, resource $content]])
string serialize(mixed $value)
注意:serialize()可处理除了resouce之外的不论什么类型。
甚至能够serialize()那些包括了指向其自身引用的数组。
mixed unserialize(string $str)
string date(string format[, int timestamp]);
array getdate([int timestamp]);
mixed microtime([bool get_as_float]);
string strtolower(string $str);
string strtoupper(string $str);
string ltrim(string $str [, string $charlist]);
string rtrim(string $str[, string $chirlist]);
mixed str_ireplace(mixed $search, mixed $replace, mixed $subject, [int $count]);
mixed str_ireplace(mixed $search, mixed $replace, mixed $subject, [int $count]);
PHP移动互联网开发笔记(5)——文件的上传下载的更多相关文章
- iOS开发网络篇—文件的上传
iOS开发网络篇—文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代 ...
- iOS 开发http post 文件的上传
iOS开发网络篇—文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代 ...
- Spring实现文件的上传下载
背景:之前一直做的是数据库的增删改查工作,对于文件的上传下载比较排斥,今天研究了下具体的实现,发现其实是很简单.此处不仅要实现单文件的上传,还要实现多文件的上传. 单文件的下载知道了,多文件的下载呢? ...
- linux链接及文件互相上传下载
若排版紊乱可查看我的个人博客原文地址 基本操作 本篇博客主要介绍如何去链接远程的linux主机及如何实现本地与远程主机之间文件的上传下载操作,下面的linux系统是CentOS6.6 链接远程linu ...
- ASP.NET MVC实现Excel文件的上传下载
在应用系统开发当中,文件的上传和下载是非常普遍的需求.在基于.NET的C/S架构的项目开发当中,有多种方案可以实现文件的上传和下载(httpwebrequest.webclient等),而且多采用异步 ...
- JAVAWEB之文件的上传下载
文件上传下载 文件上传: 本篇文章使用的文件上传的例子使用的都是原生技术,servelt+jdbc+fileupload插件,这也是笔者的习惯,当接触到某些从未接触过的东西时,总是喜欢用最原始的东西将 ...
- php文件夹上传下载控件分享
用过浏览器的开发人员都对大文件上传与下载比较困扰,之前遇到了一个php文件夹上传下载的问题,无奈之下自己开发了一套文件上传控件,在这里分享一下.希望能对你有所帮助. 以下是实例的部分脚本文件 这里我先 ...
- 在Window的IIS中创建FTP的Site并用C#进行文件的上传下载
文件传输协议 (FTP) 是一个标准协议,可用来通过 Internet 将文件从一台计算机移到另一台计算机. 这些文件存储在运行 FTP 服务器软件的服务器计算机上. 然后,远程计算机可以使用 FTP ...
- 创建FTP的Site并用C#进行文件的上传下载
创建FTP的Site并用C#进行文件的上传下载 文件传输协议 (FTP) 是一个标准协议,可用来通过 Internet 将文件从一台计算机移到另一台计算机. 这些文件存储在运行 FTP 服务器软件的服 ...
- SocketIo+SpringMvc实现文件的上传下载
SocketIo+SpringMvc实现文件的上传下载 socketIo不仅可以用来做聊天工具,也可以实现局域网(当然你如果有外网也可用外网)内实现文件的上传和下载,下面是代码的效果演示: GIT地址 ...
随机推荐
- Jquery ajax方法详解
1.url: 要求为string类型的参数,(默认为当前页面地址)发送请求的地址. 2.type: 要求为String类型的参数,请方式(get/post)默认为get.注意其他HTTP请求方法,例如 ...
- c++的引用(二)
/*按地址传递*/ #include <iostream> using namespace std; void swap(int *a, int *b) { int c; c = *a; ...
- VIM: 解决vi/vim中粘贴时行首出现很多缩进和空格的问题
解决vi/vim中粘贴时行首出现很多缩进和空格的问题 http://www.jbxue.com/LINUXjishu/12232.html 由于在secureCRT中会将原来的文本原封不动的按照字符串 ...
- [原]详解如何将cocos2dx项目编译到Android平台上的(方式一:Cywin+NDK)
链接地址:http://m.blog.csdn.net/blog/yhc13429826359/29357815 2014-6-8阅读578 评论0 前言:cocos2dx作为一个开源的移动2D游戏框 ...
- 【转】CentOS 6 服务器安全配置指南
原文连接: CentOS 6 服务器安全配置指南(通用) Linux 是一个开放式系统,可以在网络上找到许多现成的程序和工具,这既方便了用户,也方便了黑客,因为他们也能很容易地找到程序和工具来潜入 L ...
- Chapter 4.开放-封闭原则
开放-封闭原则:是说软件实体应该可以扩展,但不可修改. 设计人员必须对于他设计的模块应该对哪种变化封闭做出选择,先猜测出最有可能发生的变化种类,然后构造抽象来隔离那些变化. 面对需求,对程序的改动是通 ...
- JQuery - 提交表单
[JavaScript] JQuery异步提交表单与文件上传 Jquery.form.js是一个可以异步提交表单及上传文件的插件. 文档地址:http://jquery.malsup.com/form ...
- SICP中sqrt(开方)的实现(附C#实现)
#lang racket (define (square x) (* x x)) (define (sqrt-iter guess x) (if (good-enough? guess x) gues ...
- CentOS下Samba文件服务器的安装与配置
CentOS下Samba文件服务器的安装与配置 http://blog.csdn.net/limingzhong198/article/details/22064801 一.安装配置 1. 安装sam ...
- log4cpp的初步使用
(1)下载log4cpp的工程,编译生成lib文件和dll库 下载路径为:http://sourceforge.net/projects/log4cpp/files/latest/download 如 ...