php实现文件下载更能介绍
PHP用代码实现文件下载,阅读PHP用代码实现文件下载,我们一般实现下载都是调用url来下载,但是遇到ie能识别打开的文件就不能用这种方式了,比如下载一个图片、html网页等,这时就需要编程来实现,以下php代码可以解决:?if( empty($_GET[ 我们一般实现下载都是调用url来下载,但是遇到ie能识别打开的文件就不能用这种方式了,比如下载一个图片、html网页等,这时就需要编程来实现,以下php代码可以解决:
代码如下:
<?
if( empty($_GET['FileName'])|| empty($_GET['FileDir'])|| empty($_GET['FileId'])){
echo'<script> alert("非法连接 !"); location.replace ("index.php") </script>'; exit();
}
$file_name=$_GET['FileName'];
$file_dir=$_GET['FileDir'];
$FileId=$_GET['FileId'];
$file_dir = $file_dir."/";
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();
}
?>
相关推荐
-
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
-
Flash两个上传示例ASP和PHP(原文件下载,包括后台程序)
Flash两个上传示例ASP和PHP(原文件下载,包括后台程序) [flash upload for asp] 下载此文件 [flash upload for php] 下载此文件
-
PHP简单系统数据添加以及数据删除模块源文件下载
无论执行什么操作,其思路无非是通过PHP传递SQL语句给MySQL数据库,让数据库执行添加或者删除命令,最终得到我们想要的结果.PHP好比是一个桥梁,连接起可视化的网页与后台的数据库. 点击下载PHP简单系统添加数据以及数据删除模块. 再次要提醒大家的是,我这里仅仅给出了程序文件,数据库还是需要大家自己建立,我的程序只是起到一个抛砖引玉的作用,希望大家可以把它作为参考,加以修改,变成自己想要的东西! 作者:Sunec原载:Cenus Blog版权所有.转载时必须以链接形式注明作者和原始出处及本声
-
解决PHP超大文件下载,断点续传下载的方法详解
最近导出的时候出现一个php内存溢出的问题,原因就是在于下载的时候读取生成的临时文件过大,PHP内存无法容纳,一开如是想到更改PHP内存限制,但是这个只是一个缓兵之计,于是想到了另外一个方法是把文件分次读取,并下载. 以下是源代码: 复制代码 代码如下: <?php $sourceFile = "1.tmp"; //要下载的临时文件名 $outFile = "用户订单.xls"; //下载保存到客户端的文件名 $file_extension = strtolo
-
PHP通过header实现文本文件下载的代码
这就是今天讨论的主要问题.PHP帮助文档里面关于PHP通过header触发下载的说明比较简单,而网上关于此方面的文章也少的可怜,有很多文章都无法实现所需要的效果.今天我也来谈一下这个方面的话题,如果你感觉比网上的某些文章有所改进,那我就很知足了. 如果从准确的角度来说,那PHP文档是最准确的,因为它很简练的列出了实现文本类文件触发下载所需要的三条语句,以PDF为例就是: 复制代码 代码如下: // We'll be outputting a PDF header('Content-type: a
-
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 $file = "/tmp/dummy.tar.gz"; header("Content-type: application/octet-stream"); header('Content-Disposition: attachment; filename="' . basename
-
PHP文件下载类
复制代码 代码如下: <? //==================================================== // 使用范例: // $download=new download('php,exe,html',false); // if(!$download->downloadfile($filename)) // { // echo $download->geterrormsg(); // }
-
php利用header函数实现文件下载时直接提示保存
复制代码 代码如下: <?php $filename = '路径+实际文件名'; //文件的类型 header('Content-type: application/pdf'); //下载显示的名字 header('Content-Disposition: attachment; filename="保存时的文件名.pdf"'); readfile("$filename"); exit(); ?> 下面是网上常用的方法 复制代码 代码如下: if (is
-
PHP 强制性文件下载功能的函数代码(任意文件格式)
复制代码 代码如下: /******************** *@file - path to file */ function force_download($file) { if ((isset($file))&&(file_exists($file))) { header("Content-length: ".filesize($file)); header('Content-Type: application/octet-stream'); header('
-
php实现文件下载(支持中文文名)
复制代码 代码如下: /*====================================================== $FileName 为文件名称,必传 $FilePath 为文件路径.选填,可以为相对路径或者绝对路径 路径只能由英文跟数据组成,不能带有中文 ======================================================*/ <?php header("Content-type: text/html;char
-
Php中文件下载功能实现超详细流程分析
客户端从服务端下载文件的流程分析: 浏览器发送一个请求,请求访问服务器中的某个网页(如:down.php),该网页的代码如下. 服务器接受到该请求以后,马上运行该down.php文件 运行该文件的时候,必然要把将要被下载的文件读入内存当中(这里是圣诞狂欢.jpg这张图片),这里通过fopen()函数完成该动作 注意:任何有关从服务器下载的文件操作,必然需要先在服务端将文件读入内存当中 现在文件已经在内存当中了,这是需要从内存当中读取文件,通过fread()函数完成该动作 需要注意的是,如果文件较
-
php读取csv实现csv文件下载功能
第一段是读文件,下载.第二段是字符串下载. 复制代码 代码如下: <?php$fileName = "prefs.csv";header('Content-Type: application/octet-stream');header('Content-Disposition: attachment; filename=' . $fileName);header('Content-Transfer-Encoding: binary');header('Content-Length
随机推荐
- VB实现鼠标绘图实例代码
- 使用ASP获得服务器网卡的MAC地址信息
- 局域网故障维护及优化技巧
- 在vista中快速以管理员权限打开命令行窗口
- 巧方法 JavaScript获取超链接的绝对URL地址
- 获得Javascript对象属性个数的示例代码
- ASP.NET Gridview与checkbox全选、全不选实现代码
- 解决Android屏幕四周闪现红框的问题
- Android滑动到顶部和底部时出现的阴影如何去掉
- mysql中如何判断是否支持分区
- Android开机自启动服务的实现方法
- 推荐深入理解css中的position定位和z-index属性
- JS将滑动门改为选项卡(需鼠标点击)的实现方法
- PHP自动重命名文件实现方法
- Grunt入门教程(自动任务运行器)
- Windows和Linux下定时删除某天前的文件的脚本
- MySql的优化步骤介绍(推荐)
- JQuery-tableDnD 拖拽的基本使用介绍
- java使用itext导出PDF文本绝对定位(实现方法)
- Java环境配置与编译运行详解