博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP移动互联网开发笔记(5)——文件的上传下载
阅读量:6882 次
发布时间:2019-06-27

本文共 1761 字,大约阅读时间需要 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 上传文件的暂时路径,能够是一个绝对路径

\

 

  1. \   
\

 

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}

\
 
\

 

二、文件下载

 

 

简单文件下载仅仅须要使用HTML的链接标记

甚至能够serialize()那些包括了指向其自身引用的数组。

 

 

 

你可能感兴趣的文章
[LeetCode] Jump Game II 解题报告
查看>>
[LeetCode] Search a 2D Matrix, Solution
查看>>
[Codeforces613E]Puzzle Lover
查看>>
Docker Hello World
查看>>
Java动态代理:一个面包店的动态代理帝国
查看>>
wget下载FTP的文件
查看>>
检测MySQL主从备份是否运行
查看>>
【EasyUI】 datagrid 竖排绑定数据
查看>>
数据仓库和数据集市的区别
查看>>
python爬新闻
查看>>
WebKit.net最简单使用方法
查看>>
传苹果产品总设计师欲离职 地位堪比乔布斯
查看>>
一起谈.NET技术,用c#实现Protocol Buffers的变长字节整形编码
查看>>
【01】概述
查看>>
简单的学生管理系统,实现增删改查
查看>>
Linux 安装配置 Nginx
查看>>
2、Struts2引入多个配置文件
查看>>
开始自学H5前端-第一天
查看>>
Silverlight 脱离浏览器
查看>>
Bugku-CTF之看看源代码吧
查看>>