`
xuyanlu
  • 浏览: 8328 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

PHP下载文件(二)

 
阅读更多

其中的$filepath为文件路径,$loadname 为下载文件的名字,或者是自己定义的名字

if(headers_sent()){

die("headers Sent");
}
$loadName = !empty($loadName) ? $loadName : time();
$info = get_headers($filePath);
if(in_array('HTTP/1.1 200 OK', $info)){
//取出传过来文件的大小
$loadName = iconv("UTF-8", "GBK" , $loadName);
$fsize = $info['5'];
//截取文件的后缀名
$path_part = explode('.', $filePath);
$ext = end($path_part);
$ext = strtolower($ext);
switch($ext){
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "doc": $ctype="application/msword"; break;
case "docx": $ctype="application/msword";break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":$ctype="image/jpeg";break;
case "jpg": $ctype="image/jpg"; break;
default: $ctype="application/force-download";
}
header('Pragma: public');
//最后修改的时间
header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
//max-age=5 在5秒之内就不会访问服务器
header('Cache-Control: pre-check=0, post-check=0, max-age=0');
//加载您要下载的URL
header('Content-Transfer-Encoding: binary');
header('Content-Encoding: none');
//设置文件的类型
header('Content-type: '.$ctype);
//basename 返回路径中文件名的部分
header("Content-Disposition: attachment;filename=\"".$loadName."\";" );//文件名称
//设置文件的大小
// header('Content-length:'.$fsize);
header($fsize);
readfile($filePath);
}else{
die("未找到文件!");
}

分享到:
评论

相关推荐

    php文件下载类带实例

    `Content-Disposition`头告诉浏览器以附件形式下载文件,`filename`参数定义了显示给用户的文件名。 现在,我们创建一个测试脚本`test.php`来使用这个类: ```php require_once 'download.class.php'; $...

    php文件流下载.txt

    - **文件分享网站**:允许用户上传和下载文件。 - **网盘服务**:提供在线存储空间,并支持文件的上传和下载。 - **软件分发平台**:用于发布软件安装包、文档等。 #### 注意事项 - **安全性考虑**:在实际部署时,...

    PHP——文件下载

    在PHP中,实现文件下载功能是一项常见的任务,尤其在网站开发中。文件下载通常涉及到将服务器上的文件提供给用户下载,而不是在浏览器中直接显示。本篇将详细讲解如何使用PHP进行文件下载,并分析给定代码的工作原理...

    PHP文件上传和下载

    下面是一个简单的下载文件的示例: ```php <?php $file = 'uploads/myfile.jpg'; // 需要下载的文件路径 header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=...

    PHP 下载函数 下载重命名 保护真实文件地址

    为了确保安全,应当遵循最佳实践,如限制可下载文件的类型,避免执行脚本或二进制文件的下载,以及对文件路径进行严格的验证和过滤。 总的来说,PHP下载函数结合重命名策略,能够有效地提供安全的文件下载服务,...

    PHP实现统计文件下载次数

    PHP实现统计文件下载次数 一、开发环境 1、环境搭建:Windows 8+Apache 2.4.18+MySQL 5.7.11+PHP 7.1.0 。 2、文本编辑器:Sublime Text3。 二、主要技术 本实验主要使用PHP、Mysql和jQuery实现文件下载次数统计。

    php通用文件下载,适用于php5

    在PHP编程中,文件下载是一个常见的需求,尤其是在Web应用程序中。`PHP通用文件下载`指的是通过PHP脚本来处理用户请求,使他们能够安全地下载服务器上的文件。在PHP5版本中,这一功能得到了广泛的应用和支持。本文将...

    PHP通过CURL下载文件

    ### PHP通过CURL下载文件 #### 一、概述 在Web开发中,有时我们需要通过脚本的方式自动下载网络上的文件,比如PDF文档、图片、文本文件等。PHP提供了多种方式来实现这一功能,其中一种非常实用的方法就是使用CURL...

    PHP 分片下载大文件/视频兼容图片下载大文件迁移设计方案

    2,第二个进程根据file_chunk存储的分片内容进行分片下载; 3,第三个进程判断file中的文件在file_chunk是否已下载完毕,如下载完毕,则进行合并,合并完成后修改file的status为1 4,第四个进程判断file表的status=1...

    php实现的压缩文件的上传与下载功能模块.rar

    在PHP中实现压缩文件的上传与下载功能是Web开发中常见的需求,这涉及到文件操作、HTTP请求处理以及可能的文件安全问题。以下是一些相关的知识点: 1. **文件上传**: - PHP提供了`$_FILES`全局数组来接收上传的...

    基于HTTP PHP文件下载类.rar(很好很实用哦)

    在PHP开发中,文件下载是一个常见的需求,例如用户请求下载网站上的资源,如文档、图片或音频等。这里我们关注的焦点是“基于HTTP PHP文件下载类”。这个压缩包文件包含了一个名为`httpdownload.class.php`的文件,...

    cgi实现下载文件

    二、文件下载流程 1. 用户请求:用户点击网页上的下载链接,这个链接指向一个CGI脚本。 2. CGI脚本执行:Web服务器接收到请求后,启动CGI脚本。 3. 文件定位:CGI脚本根据请求参数找到要下载的文件在服务器上的路径...

    php在线管理文件

    PHP在线管理文件系统,顾名思义,是通过PHP实现的一种允许用户通过网页浏览器对服务器上的文件进行查看、上传、下载、编辑等操作的功能。这种系统在网站内容管理系统(CMS)、文件共享平台、云存储服务等领域有着...

    PHP教程PPT文件

    13. 文件上传与下载:教授如何使用PHP处理HTTP请求,实现文件的上传和下载。 14. 文件读写:介绍fopen、fwrite、fread、fclose等文件操作函数,以及文件指针的概念。 15. 目录操作:讲解mkdir、rmdir、chdir、...

    php-redis5.4.x扩展文件和服务端文件

    2. 将下载的扩展文件解压,找到 `.dll` 文件(例如 `php_redis.dll`)。 3. 将这个 `.dll` 文件复制到 PHP 的 `ext` 目录下。 4. 修改 PHP 的配置文件 `php.ini`,在其中添加一行 `extension=php_redis.dll`。 5. ...

    windows环境下的PHP安装文件

    1. **下载PHP安装文件**:你可以从PHP官方网站(https://www.php.net/downloads.php)获取最新版本的Windows二进制包,确保选择适合你操作系统的版本(例如,x86或x64)以及线程安全(TS)或非线程安全(NTS)的版本...

    php-wget 把远程文件下载到本地服务器上。

    在PHP中,`wget`是一个非常实用的命令行工具,常用于从互联网上下载文件到本地服务器。这个工具是GNU项目的一部分,它支持HTTP、HTTPS和FTP协议,并且可以处理代理、cookies、认证等复杂场景。当我们需要在PHP脚本中...

    JavaScript 用fetch 实现异步下载文件功能

    在实现异步下载文件功能时,开发者需要注意浏览器的同源策略。如果请求的资源与发起请求的页面不是来自同一个源,那么请求可能受到同源策略的限制。幸运的是,如果服务器配置了CORS(跨源资源共享),允许来自特定域...

    php.zip_php 文件下载_卡盟源码下载

    标题 "php.zip_php 文件下载_卡盟源码下载" 暗示了这是一个包含PHP文件的压缩包,可能是一个用于卡盟平台的源代码集合。卡盟平台通常是指一种在线服务,集中提供游戏点卡、虚拟商品充值等业务,而其背后的系统需要...

    php5环境配置文件

    二、PHP5.6安装与配置 PHP5.6是PHP的一个稳定版本,适用于许多现有的Web应用程序。下载对应VC11的PHP5.6版本(php-5.6.36-Win32-VC11-x86.zip),解压至一个合适的目录,例如`C:\PHP5`。接下来,配置Apache以处理...

Global site tag (gtag.js) - Google Analytics