你一定会笑我“下载文件”如此简单都值得说?当然并不是想你想象的那么简单。例如你希望客户要填完一份表格,才可以下载某一文件,你第一个想法一定是用 “Redirect”的方法,先检查表格是否已经填写完毕和完整,然后就将网址指到该文件,这样客户才能下载,例如笔者编写的以下代码:
<? // 检查 FORM 是否全部填写完毕... if ($form_completed) { Header("Location: http://www.myweb.com/download/info_check.exe"); exit; } ?> |
或者是以下的情况:
“ <a href="http://www.yourwebl.com/users/download.php?id=124524">开始下载文件</a> ” |
这里利用了ID方式接收要下载文件的编号,然后用“Redirect”的方式连接到实际的网址。
如果你想做一个关于“网上购物”的电子商务网站,考虑安全问题,你不想用户直接复制网址下载该文件,笔者建议你使用PHP直接读取该实际文件然后下载的方法去做。程序如下:
<? $file_name = "info_check.exe"; $file_dir = "/public/www/download/"; if (!file_exists($file_dir . $file_name)) { //检查文件是否存在 echo "文件找不到"; exit; } else { $file = fopen($file_dir . $file_name,"r"); // 打开文件 // 输入文件标签 Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); Header("Accept-Length: ".filesize($file_dir . $file_name)); Header("Content-Disposition: attachment; filename=" . $file_name); // 输出文件内容 echo fread($file,filesize($file_dir . $file_name)); fclose($file); exit;} ?> |
而如果文件路径是“http”或者“ftp” 网址的话,则源代码会有少许改变,程序如下:
<? $file_name = "info_check.exe"; $file_dir = "http://www.easycn.net/"; $file = @ fopen($file_dir . $file_name,"r"); if (!$file) { echo "文件找不到"; } else { Header("Content-type: application/octet-stream"); Header("Content-Disposition: attachment; filename=" . $file_name); while (!feof ($file)) { echo fread($file,50000); } fclose ($file); } ?> |
这样就可以用PHP直接输出文件了。
分享到:
相关推荐
在PHP中实现文件的上传和下载是Web开发...总之,PHP实现文件上传和下载涉及到HTML表单、PHP处理脚本以及HTTP头的设置。了解这些基本原理后,你可以根据实际项目需求进行扩展和优化,以提供更安全、高效的文件管理服务。
PHP文件下载的函数,能扩展,一起学习进步吧!
在PHP中实现浏览器访问地址栏下载文件的功能...综上所述,通过PHP实现浏览器访问地址栏下载文件,主要涉及对HTTP响应头的理解和设置,以及正确地读取和输出文件内容。在实际开发中,还需结合安全性和性能优化进行调整。
PHP实现统计文件下载次数 一、开发环境 1、环境搭建:Windows 8+Apache 2.4.18+MySQL 5.7.11+PHP 7.1.0 。 2、文本编辑器:Sublime Text3。 二、主要技术 本实验主要使用PHP、Mysql和jQuery实现文件下载次数统计。
PHP实现文件下载是一个常见的Web开发任务,该任务涉及到HTTP协议的深入理解以及PHP脚本编程。在本知识点中,我们将详细解读标题和描述中提到的关键概念,并基于部分内容中的示例代码进行深入解析。 首先,文件下载...
PHP实现文件下载的基本原理是通过HTTP协议,客户端(如浏览器)发送一个请求到服务器,服务器通过PHP脚本对请求做出响应,并告诉浏览器这是一个附件(attachment),即文件下载。为了完成这个过程,服务器需要发送...
PHP实现的通讯录管理系统设计文档+源代码+SQL文件PHP实现的通讯录管理系统设计文档+源代码+SQL文件PHP实现的通讯录管理系统设计文档+源代码+SQL文件PHP实现的通讯录管理系统设计文档+源代码+SQL文件PHP实现的通讯录...
在本项目中,"PHP 简单实现文件上传、保存、下载的功能(云盘)",我们主要关注的是如何利用PHP构建一个基本的云存储服务,让用户能够在自己的账户空间内进行文件的操作。以下是对涉及的技术点的详细解释: 1. **PHP*...
PHP实现文件下载主要依赖于header()函数向浏览器发送正确的HTTP头部信息,使浏览器识别到文件传输的类型及下载指令。在PHP中实现文件下载大致分为以下几个步骤: 1. 确定要下载的文件路径和文件名,这通常通过PHP...
实现文件安全下载,完成我文件下载的安全性,并限制用户的下载次数。
这里我们主要讨论用Perl或Python编写CGI脚本来实现文件下载。 二、文件下载流程 1. 用户请求:用户点击网页上的下载链接,这个链接指向一个CGI脚本。 2. CGI脚本执行:Web服务器接收到请求后,启动CGI脚本。 3. ...
在PHP中,实现文件下载功能是一项常见的任务,尤其在Web应用中,用户可能需要下载服务器上的文件,...总之,PHP实现文件下载涉及到文件操作、HTTP响应头设置和流处理等技术,理解这些知识点有助于构建更健壮的Web应用。
本文将详细介绍如何使用PHP实现这两个功能。 首先,我们从文件上传开始。PHP提供了`$_FILES`全局数组来处理上传的文件。当用户通过HTML表单提交包含`<input type="file">`的字段时,服务器端的PHP脚本可以获取到...
PHP AJAX实现一款无刷新下载文件的实例,同时与MySQL数据库连接,前端配合CSS与JavaScript技术,完成了一个漂亮的下载页面,这个页面是网页前端编程的综合展现。鼠标在下载列表移动的时候,会适时出现下载提示,抛去...
描述部分提到了一些PHP实现文件下载的基本概念。它提到一个简单的下载可以使用HTML中的a标签完成,例如: ```html *.*.*.*.zip">magento-*.*.*.*.zip ``` 但在某些情况下,直接使用链接可能无法达到预期的效果,因为...
通过上述介绍可以看出,PHP提供了一套完整的FTP操作接口,使得开发者能够轻松地实现文件的上传和下载等功能。在实际应用中,根据具体的业务需求选择合适的函数组合即可完成FTP相关的任务。此外,对于安全性要求较高...
在PHP中创建一个网页以实现访问时自动下载文件的功能,主要涉及到HTTP协议、文件系统操作以及用户代理检测等知识。以下是对这些知识点的详细说明: 1. **HTTP响应头控制**: 当用户访问PHP页面时,服务器需要通过...
本文实例讲述了PHP实现通过CURL上传文件功能。分享给大家供大家参考,具体如下: PHP使用CURL上传文件只需发送一个POST请求就可以了,在请求中设置某个字段为需要上传的文件全路径,并且以”@”开头,然后使用CURL把...
二、PHP实现文件下载的基本步骤 1. 检查文件路径:确保文件存在并可读,防止恶意路径遍历攻击。 2. 设置响应头:使用`header()`函数设置`Content-Type`和`Content-Disposition`。 3. 输出文件内容:使用`readfile()`...