PHP之文件上传
来源:互联网 发布:php商城开发视频教程 编辑:程序博客网 时间:2024/05/16 11:15
文件上传,其学习步骤如下:
①学习如何控制上传文件(配置php.ini文件)
②学习对上传文件判断(判断上传文件的格式、大小)
③学习执行文件上传操作的方法
1、开启文件上传功能
在php.ini中修改File_Uploads项的以下参数:
file_uploads:On服务器支持文件上传;
upload_tmp_dir:上传文件临时目录。在文件被成功上传之前,文件首先存放到服务器端的临时目录中。
upload_max_filesize:服务器允许上传文件大小的最大值,以MB为单位。系统默认为2MB。
在php.ini中还有其他几个选项会影响到文件的上传:
max_execution_time:PHP中一个指令所能执行的最大时间,单位是秒。该选项在上传超大文件时必须要修改,否则即使上传文件在服务器允许的范围内,但是超过了指令所能执行的最大时间,仍然无法实现上传。
memory_limit:PHP中一个指令所分配的内存空间。单位是MB。它的大小同样会影响到超大文件的上传。
2、全局变量$_FILES
对上传文件进行判断应用的是全局变量$_FILES,$_FILES是一个数组,它包含所有上传的文件信息。
- $_FILES[filename]['name'] - 被上传文件的名称
- $_FILES[filename]['type'] - 被上传文件的类型
- $_FILES[filename]['size'] - 被上传文件的大小,以字节计
- $_FILES[filename]['tmp_name'] - 存储在服务器的文件的临时副本的名称
- $_FILES[filename]['error'] - 由文件上传导致的错误代码
3、将上传文件移动到指定目录
PHP中应用move_uploaded_file()函数实现文件上传。但是,在执行文件上传之前,为了防止潜在的攻击对原本不能通过脚本交互的文件进行非法管理,可以先应用is_uploaded_file()函数判断指定的文件是否是通过HTTP POST上传的,如果是返回TRUE,则可以继续执行文件的上传操作,否则将不能够继续执行。
<span style="font-size:18px;">bool is_uploaded_file( string filename)</span>
//filename必须指定类似于$_FILES['filename']['tmp_name']的变量,不可以使用从客户端上传的文件名$_FILES['filename']['name']。
<span style="font-size:18px;">bool move_uploaded_file( string filename, string destination)</span>
move_uploaded_file()将文件上传到服务器中指定的位置。其参数filename指定上传文件的临时文件名;destination指定文件上传后保存的新路径和名称。
4、文件下载技术
通过HTTP方式下载文件,其主要应用header()函数。
header()函数,属于HTTP函数。其作用是以HTTP协议将HTML文档的标头送到浏览器,并告诉浏览器具体怎么处理这个页面。
<span style="font-size:18px;">void header( string string [, bool replace [, int http_response_code]])</span>通过HTTP下载的代码实例如下:
<span style="font-size:18px;"><?phpheader('Content-Type:image/jpg');//设置图片类型header('Content-Disposition:attachment;filename="test.jpg"');//描述下载文件,指定文件名称header('Content-Length'.filesize('test.jpg'));//定义下载文件大小readfile('test.jpg');//读取文件,执行下载?></span>
使用<a>标签只能实现压缩包的下载:如
<a href='test.rar'>压缩包下载</a>
//test.rar即是要下载的压缩包的路径
- php之文件上传
- PHP之文件上传
- PHP文件之上传
- php之文件上传
- PHP之文件上传
- 文件上传之PHP
- php之文件上传
- PHP之上传文件
- PHP学习之文件上传
- php开发之文件上传
- PHP实战之上传文件
- PHP学习之PHP上传文件
- Ajax 文件上传之PHP心得
- php编程之文件上传与下载
- php之文件上传简单介绍
- php之文件上传类代码
- php文件上传失败之原因
- PHP学习系列之文件上传
- linux特殊符号大全
- jquery 基础操作 (未完)
- 第三周项目2-三角形2
- poj 1905
- 在CSDN可以使用markdown写博客了
- PHP之文件上传
- [省选前题目整理][POJ 2699]The Maximum Number of Strong Kings(暴力枚举+最大流)
- POJ 3273
- March'English Learning
- 算法导论 第23章 最小生成树 斐波那契堆实现优先队列
- java学习---------IO流学习---文件流inputstream outputstream(三)实现文件和文件夹的复制 删除
- 第三周项目3-程序的多文件组织
- POJ 3518
- 安卓学习笔记--Intent的属性action和category