PHP文件上传与下载
来源:互联网 发布:淘宝艾灸盒哪个牌子好 编辑:程序博客网 时间:2024/05/22 14:20
PHP文件的上传与下载
文件上传
1.1 客户端上传设置
① form 必须用 post
② 给form 指定属性 enctype=’multipart/form-data’
③<input type='file' name="">
④ 表单中可以对上传文件的大小进行限制 (可选)
<input type='hidden' name="MAX_FILE_SIZE" value="">
必须写到 input:file 的前面
1.2 在服务器端通过PHP处理上传
1.2.1 PHP配置文件中与文件上传有关的选项
指令名 默认值 功能描述
file_uploads ON 是否开启文件上传
max_file_uploads = 20 上传文件数量限制
upload_max_filesize 单个文件 2M 限制PHP处理上传文件大小的最大值,此值必须小于post_max_size
post_max_size 8M
限制通过POST方法可以接受信息的最大值,也就是整个POST请求的提交值。此值必须大于upload_max_filesize
整个表单的大小
upload_tmp_dir NULL 上传文件存放的临时路径,可以是绝对路径。默认NULL则使用系统的临时目录。
1.2.2 $_FILES多维数组
[input的name]=>array(
‘name’ => 原文件的名字,
‘type’ => 文件mime类型
‘tmp_name’ => 临时文件的路径
‘error’ => 错误号 0表示上传成功
‘size’ => 文件的大小
)
error错误号:
0 表示上传成功
1 超过了 php.ini 中 upload_max_filesize 的限制
2 超过了 HTML 表单 中隐藏域设置的 限制
3 文件只有部分被上传
4 文件没有上传
6 找不到临时目录
7 文件写入失败
1.2.3 常见数据格式(MIME)
文件类型 MIME类型
图片文件 image/gif,image/jpg,image/jpeg,image/png,image/x-png
纯文本和HTML text/txt,text/plain,text/html
二进制文件 application/octet-stream
音频格式 audio/basic
视频格式 video/mpeg
1.2.4 PHP文件上传处理函数
is_uploaded_file()
move_uploaded_file()多文件上传
使用不同的表单元素
<input type="file" name="file_a">
<input type="file" name="file_b">
<input type="file" name="file_b">
使用数组格式的表单元素
<input type="file" name="file[]">
<input type="file" name="file[]">
<input type="file" name="file[]">
HTML5指定inputd的属性
<input type="file" name="file[]" multiple>
文件下载
//获取服务器要下载文件的路径$filename="./upload/aa.png";
//获取文件的文件名
$basename=pathinfo($filename);
//指定下载文件类型的
header("Content-Type: image/png")
;//设置head头信息,告知该文件时下载附件并且制定客户端临时存储名称
header("Content-Disposition:attachment;filename=". $basename["basename"])
;
//指定下载文件的描述信息
//指定文件大小的header("Content-Length:".filesize($filename));
//将内容输出,以便下载。
readfile($filename);
- php文件上传与下载
- PHP文件上传与下载
- PHP文件上传与下载
- php编程之文件上传与下载
- PHP 文件的上传与下载
- 【php】文件的上传与下载
- 【php】文件的上传与下载
- php 实现文件下载与上传
- PHP文件的上传与下载
- PHP实现文件上传与下载
- php ftp文件上传与下载
- PHP实现文件上传与下载
- PHP文件上传、下载
- PHP文件上传、下载
- php中的文件上传与下载(单文件)
- 文件上传与下载----上传
- 文件上传与下载
- 文件上传与下载
- 关于慢速乘
- CyclicBarrier、CountDownLatch、Exchanger
- NYOJ 116 士兵杀敌(二)
- libxxx.so- text relocations问题的终极解决方案
- TensorFlow学习笔记--TensorFlow简介,常用基本操作
- PHP文件上传与下载
- nodejs安装 第一个node应用
- Ecshop模板开发(五):商品详情页图片相册jqzoom放大
- Problem A: 时间和日期类(I)
- Linux常用软件安装命令
- 用技术解决困惑:解决校园网掉线时自动重启问题
- DB2数据库与Oracle不兼容导致的DB2中不能使用DUAL查询
- UVA 11882 Biggest Number (搜索+剪枝(dfs+bfs))
- mysql总是语法出错,可能是字符集的问题