php上传,PHP-文件上传和下载「程序员培养之路第三十八天」
第一节 上传设置
客户端设置
form:method=post、enctype="multipart/form-data"
input:type=file
提交
服务端设置
在php.ini中进行设置:
默认uploadmaxfilesize = 2M,如果你想上传超过8M的文件,比如:20M,你在设定uploadmaxfilesize = 20M的同时,还要修改postmaxsize选项(默认为8M)。否则post数据超出限制,$_FILES将会为空(报错)。
$_FILES数组
$_FILES超全局数组中,包含着从客户端提交文件的全部信息:
array (size=1)'fname' => //上传文件表单项的namearray (size=5)'name' => string 'home.html' (length=21) //上传文件的名称'type' => string 'text/html' (length=9) //文件类型(常见文件都可以上传)'tmp_name' => string 'C:\wamp\tmp\php57A2.tmp' (length=23) //上传文件的临时文件名'error' => int 0 //上传文件遇到的错误号'size' => int 28131 //上传文件的大小
上传步骤
var_dump($_FILES);$file=$_FILES["fname"];
获取$_FILES文件 临时文件
$tmp_file=$file["tmp_name"];
获取后缀名
$ext=pathinfo($file["name"],PATHINFO_EXTENSION);//后缀名
创建新文件名
$new_file="file".rand(1,1000000).".".$ext;
保存路径
$path="./files";
格式化路径
$path=rtrim($path,'/')."/";
拼接上传目录
$new_file=$path.$new_file;
临时文件转换成正式文件
move_uploaded_file($tmp_file,$new_file);
PHP
第二节 下载设置
浏览器对于可识别的文件格式(html、txt、png、jpg等),默认是直接打开的,对于无法识别的文件,才作为附件来下载。为了可以让可识别的文件也直接可以下载,需要进行如下设置:
1. 读取文件
$fliename=$_GET["name"];$filetype=$_GET["type"];
2. 文件的描述信息 Content-Disposition(内容配置)指定为attachment(附件)(必须)
header("Content-Disposition:attachment;filename={$filename}");
3. 指定被下载文件的类型(非必须)
header("Content-Type:{$filetype}");
4. 指定被下载文件大小(非必须)
header("Content-Length:".filesize($filename));
5. 将内容读入内存缓冲区
readfile($filename);
注意:在 readfile($filename) 之前,不能有任何输出语句(错误信息、var_dump调试语句,echo输出等),否则下载的文件会出错。
PHP-文件处理系统「程序员培养之路第三十七天」
PHP-错误日志处理「程序员培养之路第三十六天」
PHP-日期时间操作函数「程序员培养之路第三十五天」
php上传,PHP-文件上传和下载「程序员培养之路第三十八天」相关推荐
- java文件上传_Java文件上传细讲
什么是文件上传? 文件上传就是把用户的信息保存起来. 为什么需要文件上传? 在用户注册的时候,可能需要用户提交照片.那么这张照片就应该要进行保存. 上传组件(工具) 为什么我们要使用上传工具? 为啥我 ...
- php 超过100m文件上传,科技常识:apache+php上传大文件以上传100M为例
科技常识:apache+php上传大文件以上传100M为例 2021-03-19 18:54:57 今天小编跟大家讲解下有关apache+php上传大文件以上传100M为例 ,相信小伙伴们对这个话题应 ...
- java 图片上传_java web图片上传和文件上传实例
本篇文章主要介绍了java web图片上传和文件上传实例,具有一定的参考价值,有需要的可以了解一下. 图片上传和文件上传本质上是一样的,图片本身也是文件.文件上传就是将图片上传到服务器,方式虽然有很多 ...
- java web文件上传详解_java web图片上传和文件上传实例详解
java web图片上传和文件上传 图片上传和文件上传本质上是一样的,图片本身也是文件.文件上传就是将图片上传到服务器,方式虽然有很多,但底层的实现都是文件的读写操作. 注意事项 1.form表单一定 ...
- 图片和视频的上传(文件上传通用)
流程如下: 1.先引入el-upload 2.调用上传前事件 3.上传前事件中将file文件转formData 4.调用后端oss接口上传文件 5.上传完成后回显数据 6.点击图片/视频预览 图片和视 ...
- Flask使用bootstrap为HttpServer添加上传文件功能 #华为云·寻找黑马程序员#
一句题外话 昨天是老妈的生日,可惜周一上班没有办法为她庆生,只能电话问候下.但还是在这里补说一句"生日快乐!"(ps:我妈每天都会看我的公众号,哈哈-) 提个小需求 今天朋友说,之 ...
- wav文件 服务器失败,.wav存储在服务器上的声音文件在加载web应用程序时无法播放...
这是我试图实现的场景:与Web应用程序存储在同一服务器上的声音,在客户端遇到条件时播放.当我在IDE中运行它并将webconfig更改为指向数据库所在的服务器时,它完美地工作.但是,当我部署并通过浏览 ...
- 世界上最成功的人一开始是个程序员-《程序员大本营》1999版
//找到这篇我在1999年出版<程序员大本营>的短文,转眼间已过去11年. 世界上最成功的人一开始是个程序员.在1974年,Bill Gates为Altair 8800写了一个4K的编译器 ...
- php 任意文件上传,任意文件上传漏洞
就是记录下这次的ctf过程,总的来说,亮点不在题目,而是两道题的结合. 题目分析 按照出题的思路,大致就是要我们上传一些可执行的代码,然后找出服务器上的flag文件.因此,我们这次的题目就很简单了,只 ...
最新文章
- C++ 关于方法传值
- 线性回归 linear regression
- 189. 旋转数组 golang
- github和pypi_如何将GitHub用作PyPi服务器
- 小红书笔记_小红书的沙雕笔记,害人不浅啊
- linux教程 sed命令的用法,Linux基础教程之文件三剑客sed命令用法详解
- tensorflow 转张量类型为float_一文看懂TensorFlow计算图
- php 5.5 sqlserver,thinkphp5 连接sqlserver windows
- 计算机网络—物理层(思维导图)
- csv可以保存特殊字符_浅谈CSV注入漏洞
- poi ppt 作者属性 修改_POI之PPT文本框生成及样式设置实例
- 用python写的,一个中英文转摩斯电码小程序
- itextpdf生成pdf,html转pdf,pdf转图片
- 电子商务专业英语参考试卷
- Visio 安装暴雷记录
- 爬虫代理哪家强?十大付费代理详细对比评测!
- 深度学习LSTM框架图PPT高清
- 【DKN】(一)KCN详解
- 亿发定制ERP企业管理系统,适用中小型企业的经济实惠的解决方案
- SOA Presentation - SOA概念介绍
热门文章
- String, StringBuilder 与StringBuffer的区别与联系
- Nutch关于robot.txt的处理
- AngularJS快速上手
- TensorFlow学习笔记(十一)读取自己的数据进行训练
- TensorFlow学习笔记(九)tf搭建神经网络基本流程
- redis底层数据结构简述
- angular input和output
- mysql设置唯一键
- 2019第一篇万字长文!30+家一线投资机构已出投资新策略...
- 【转】编写微信聊天机器人4《聊天精灵WeChatGenius》:实时获取到微信聊天消息,hook数据库插入操作。...