php控制文件下载速度的方法
本文实例讲述了php控制文件下载速度的方法。分享给大家供大家参考。具体实现方法如下:
<?php /* * set here a limit of downloading rate (e.g. 10.20 Kb/s) */ $download_rate = 10.20; $download_file = 'download-file.zip'; $target_file = 'target-file.zip'; if(file_exists($download_file)){ /* headers */ header('Last-Modified:'.gmdate('D, d M Y H:i:s').'GMT'); header('Cache-control: private'); header('Content-Type: application/octet-stream'); header('Content-Length: '.filesize($download_file)); header('Content-Disposition: filename='.$target_file); /* flush content */ flush(); /* open file */ $fh = @fopen($download_file, 'r'); while(!feof($fh)){ /* send only current part of the file to browser */ print fread($fh, round($download_rate * 1024)); /* flush the content to the browser */ flush(); /* sleep for 1 sec */ sleep(1); } /* close file */ @fclose($fh); }else{ die('Fatal error: the '.$download_file.' file does not exist!'); } ?>
希望本文所述对大家的php程序设计有所帮助。
相关推荐
-
PHP通过header实现文本文件下载的代码
这就是今天讨论的主要问题.PHP帮助文档里面关于PHP通过header触发下载的说明比较简单,而网上关于此方面的文章也少的可怜,有很多文章都无法实现所需要的效果.今天我也来谈一下这个方面的话题,如果你感觉比网上的某些文章有所改进,那我就很知足了. 如果从准确的角度来说,那PHP文档是最准确的,因为它很简练的列出了实现文本类文件触发下载所需要的三条语句,以PDF为例就是: 复制代码 代码如下: // We'll be outputting a PDF header('Content-type: a
-
php实现文件下载简单示例(代码实现文件下载)
复制代码 代码如下: public function downloads($name){$name_tmp = explode("_",$name);$type = $name_tmp[0];$file_time = explode(".",$name_tmp[3]);$file_time = $file_time[0];$file_date = date("Y/md",$file_time);$file_dir = SITE_PATH.&quo
-
php限制文件下载速度的代码
有时候你会出于某种目的而要求把下载文件的速度放慢一些,例如你想实现文件下载进度条功能.限制下载速度最大的好处是节省带宽,避免瞬时流量过大而造成网络堵塞.本文将和你分享如何通过php代码来实现限制文件的下载速度. 首先来看看利用php限制文件下载速度的代码: <?php // 将发送到客户端的本地文件 $local_file='abc.zip'; // 文件名 $download_file='your-download-name.zip'; // 设置下载速率(=> 31.2 kb/s) $do
-
php实现文件下载代码分享
简单的文件下载只需要使用HTML的连接标记<a>,并将属性href的URL值指定为下载的文件即可.所示: <a href="http://www.jb51.net/download/book.rar">下载文件</a> 如果通过上面的代码实现文件下载,只能处理一些浏览器不能默认识别的MIME类型文件,例如当访问book.rar文件时,浏览器并没有直接打开,而是弹出一个下载提示框,提示用户"下载"还是"打开"等处
-
php利用header函数实现文件下载时直接提示保存
复制代码 代码如下: <?php $filename = '路径+实际文件名'; //文件的类型 header('Content-type: application/pdf'); //下载显示的名字 header('Content-Disposition: attachment; filename="保存时的文件名.pdf"'); readfile("$filename"); exit(); ?> 下面是网上常用的方法 复制代码 代码如下: if (is
-
Php中文件下载功能实现超详细流程分析
客户端从服务端下载文件的流程分析: 浏览器发送一个请求,请求访问服务器中的某个网页(如:down.php),该网页的代码如下. 服务器接受到该请求以后,马上运行该down.php文件 运行该文件的时候,必然要把将要被下载的文件读入内存当中(这里是圣诞狂欢.jpg这张图片),这里通过fopen()函数完成该动作 注意:任何有关从服务器下载的文件操作,必然需要先在服务端将文件读入内存当中 现在文件已经在内存当中了,这是需要从内存当中读取文件,通过fread()函数完成该动作 需要注意的是,如果文件较
-
Flash两个上传示例ASP和PHP(原文件下载,包括后台程序)
Flash两个上传示例ASP和PHP(原文件下载,包括后台程序) [flash upload for asp] 下载此文件 [flash upload for php] 下载此文件
-
php实现文件下载功能的几个代码分享
一个简单的php文件下载源代码,虽不支持断点续传等,但是可以满足一些常用的需求了.php下载文件其实用一个a标签就能实现,比如 <a href="web/magento-1.8.1.0.zip">magento-1.8.1.0.zip</a> .但是遇到一些浏览器能识别的格式,比如.txt,.html,.pdf等,再用<a href="web/abc.txt">abc.txt</a> 想必也知道会发生什么了. 复制代码
-
PHP实现文件下载详解
1.php下载原理图 2.文件下载源码: 复制代码 代码如下: <?php $file_name="哈哈.jpg";//需要下载的文件 $file_name=iconv("utf-8","gb2312","$file_name"); $fp=fopen($file_name,"r+");//下载文件必须先要将文件打开,写入内存 if(!file_exists($file_name)){//判断文件是否
-
PHP文件下载类
复制代码 代码如下: <? //==================================================== // 使用范例: // $download=new download('php,exe,html',false); // if(!$download->downloadfile($filename)) // { // echo $download->geterrormsg(); // }
-
PHP+Mysql+jQuery文件下载次数统计实例讲解
项目中我们需要统计文件的下载次数,用户每下载一次文件,相应的下载次数加1,类似的应用在很多下载站中用到.本文结合实例使用PHP+Mysql+jQuery,实现了点击文件,下载文件,次数累加的过程,整个过程非常流畅. 准备工作 本实例需要读者具备PHP.Mysql.jQuery以及html.css等相关的基本知识,在开发示例前,需要准备Mysql数据表,本文假设有一张文件下载表downloads,用来记录文件名.保存在文件服务器上的文件名以及下载次数.前提是假设下载表中已存在数据,这些数据可能来自
-
PHP连接SQLSERVER 注意事项(附dll文件下载)
环境: - Apache 2.2.6 - PHP 5.2.5 - SQL Server 2005 - Windows XP SP2 步骤: 1. 首先按通常做法配置好PHP5连接MS SQL Server 2. 下载正确版本的 ntwdblib.dll (2000.80.194.0),注意这个版本号,不是这个版本的dll 不起作用啊,刚开始搞了好久才发现这个问题,切记... 地址: http://www.jb51.net/dll/ntwdblib.dll.html 3. 覆盖 apache2.2
-
解决PHP超大文件下载,断点续传下载的方法详解
最近导出的时候出现一个php内存溢出的问题,原因就是在于下载的时候读取生成的临时文件过大,PHP内存无法容纳,一开如是想到更改PHP内存限制,但是这个只是一个缓兵之计,于是想到了另外一个方法是把文件分次读取,并下载. 以下是源代码: 复制代码 代码如下: <?php $sourceFile = "1.tmp"; //要下载的临时文件名 $outFile = "用户订单.xls"; //下载保存到客户端的文件名 $file_extension = strtolo
-
php实现文件下载实例分享
举一个案例: 复制代码 代码如下: <?phpclass Downfile { function downserver($file_name){$file_path = "./img/".$file_name;//转码,文件名转为gb2312解决中文乱码$file_name = iconv("utf-8","gb2312",$file_name);$file_path = iconv("utf-8","gb23
-
PHP实现文件下载断点续传详解
如果我们的网站提供文件下载的服务,那么通常我们都希望下载可以断点续传(Resumable Download),也就是说用户可以暂停下载,并在未来的某个时间从暂停处继续下载,而不必重新下载整个文件. 通常情况下,Web服务器(如Apache)会默认开启对断点续传的支持.因此,如果直接通过Web服务器来提供文件的下载,可以不必做特别的配置,即可享受到断点续传的好处.由于这些文件直接通过Web服务器来提供下载,后端脚本无法对这个下载过程进行控制.这对于仅提供公开.静态文件的网站来说不是问题,但对于需要
-
php实现的支持断点续传的文件下载类
本文实例讲述了php实现的支持断点续传的文件下载类及其用法,是非常实用的技巧.分享给大家供大家参考.具体方法如下: 通常来说,php支持断点续传,主要依靠HTTP协议中 header HTTP_RANGE实现. HTTP断点续传原理: Http头 Range.Content-Range() HTTP头中一般断点下载时才用到Range和Content-Range实体头, Range用户请求头中,指定第一个字节的位置和最后一个字节的位置,如(Range:200-300) Content-Range用
-
php文件下载处理方法分析
本文实例讲述了php文件下载的处理方法.分享给大家供大家参考.具体分析如下: php能够处理多种条件的文件下载,先来看下面示例: <?php header("Content-Type: application/force-download"); header("Content-Disposition: attachment; filename=testname.jpg"); readfile("images/test.jpg"); ?>
-
php实现简单文件下载的方法
本文实例讲述了php实现简单文件下载的方法.分享给大家供大家参考.具体如下: 这里介绍的php文件下载代码,只是简单实现了一张图片的下载功能,还不完善,最好是封装到一个类里,或是采用函数调用.感兴趣的朋友可以在此基础上加以完善! php文件下载代码如下: <?php $file_name = "2.jpg";//需要下载的图片 define("SPATH","/php/image/");//存放图片的相对路径 $file_sub_path
随机推荐
- 详解vue事件对象、冒泡、阻止默认行为
- Javascript oop设计模式 面向对象编程简单实例介绍
- asp.net 删除MFC单文档默认菜单栏的两种方法
- PHP5.5迭代生成器用法实例详解
- 在Python中使用异步Socket编程性能测试
- MySQL服务维护笔记第1/2页
- javascript DOM操作之动态删除TABLE多行
- 基于socket.io+express实现多房间聊天
- XMLHTTP抓取远程数据的后期处理
- php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE eval()'d code error
- jQuery EasyUI 获取tabs的实例解析
- C++中事件机制的简洁实现及需要放弃的特性
- 安卓(Android) 监听按键长按事件
- Symfony生成二维码的方法
- php实现爬取和分析知乎用户数据
- jquery实现动态改变css样式的方法分析
- vue实现前台列表数据过滤搜索、分页效果
- SqlServer 获取字符串中小写字母的sql语句
- Linux下的 mariadb 使用 root 用户启动方式(推荐)
- 连接pandas以及数组转pandas的方法