php文件下载代码(支持远程文件下载)

 代码如下 复制代码

function download($file_dir,$file_name)
//参数说明:
//file_dir:文件所在目录
//file_name:文件名
{
    $file_dir = chop($file_dir);//去掉路径中多余的空格
    //得出要下载的文件的路径
    if($file_dir != '')
    {
        $file_path = $file_dir;
        if(substr($file_dir,strlen($file_dir)-1,strlen($file_dir)) != '/')
            $file_path .= '/';
        $file_path .= $file_name;
    }           
    else
        $file_path = $file_name;   
   
    //判断要下载的文件是否存在
    if(!file_exists($file_path))
    {
        echo '对不起,你要下载的文件不存在。';
        return false;
    }

    $file_size = filesize($file_path);
 
    header("content-type: application/octet-stream");
    header("accept-ranges: bytes");
    header("accept-length: $file_size");
    header("content-disposition: attachment; filename=".$file_name);
   
    $fp = fopen($file_path,"r");
    $buffer_size = 1024;
    $cur_pos = 0;
   
    while(!feof($fp)&&$file_size-$cur_pos>$buffer_size)
    {
        $buffer = fread($fp,$buffer_size);
        echo $buffer;
        $cur_pos += $buffer_size;
    }
   
    $buffer = fread($fp,$file_size-$cur_pos);
    echo $buffer;
    fclose($fp);
    return true;

}

?>

<?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.111cn.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);
    }

    ?>

时间: 2024-09-24 08:33:16

php文件下载代码(支持远程文件下载)的相关文章

jsp实现文件下载代码(1/4)

jsp教程实现文件下载代码 /* 1.支持单文件下载.支持多文件zip压缩下载.多文件zip压缩可在服务器保留或者删除副本.支持将特定的字符串或者byte数组以指定的文件名提供下载. 2.在下载过程中需要提供response对象.并且选择下载形式. 3.下载处理前先进行check,避免出现错误. 4.下载处理过程中出错时,会报告错误信息. 5.日文系统下文件名是中文时出现乱码问题. 6.处理前需要进行相对繁琐的设定. 设定实现下载必须的response对象. public void setRes

JSP实现远程文件下载保存到服务器指定目录中的方法_JSP编程

本文实例讲述了JSP实现远程文件下载保存到服务器指定目录中的方法.分享给大家供大家参考,具体如下: <%@page import="java.net.*,java.io.*"%> <%! public boolean saveUrlAs(String photoUrl, String fileName) { //此方法只能用户HTTP协议 try { URL url = new URL(photoUrl); HttpURLConnection connection =

php常用ip转换与文件下载代码

php教程常用ip转换与文件下载代码 ip转换 php中将ip转换成整型的函数ip2long()容易出现问题,在ip比较大的情况下,会变成负数. <?php $ip = "192.168.1.2"; $ip_n = ip2long($ip); echo $ip_n;      //得到 -1062731518 ?> 由于ip转换成的整型值太大超出了整型的范围,所以变成负数.需写成$ip_n = bindec(decbin(ip2long($ip)));这样便可得到无符号的整

如何设置电脑迅雷支持远程下载

  迅雷远程下载,可以使用手机迅雷客户端或者迅雷远程下载网站(yuancheng.xunlei.com)远程下载功能直接远程控制下载文件,支持PC电脑.智能盒子和智能路由器等设备远程下载,远程操作PC迅雷下载文件,其他的设备如智能路由器.智能盒子,小编将在百事网文章中一一介绍.要能能远程下载指挥PC迅雷下载文件,最重要的是将PC迅雷客户端添加到支持远程下载设备名单上. 注意:目前仅迅雷极速版支持远程下载,所以要下载安装迅雷极速版,迅雷极速版下载地址:http://vip.xunlei.com/f

Win7家庭普通版和家庭高级版不支持远程桌面连接

1.实际使用win7 HB系统主机测试:计算机-属性-远程(仅有远程协助无远程桌面) 2.win7旗舰版系统主机:计算机-属性-远程(同时具有远程协助和远程桌面) 3.实际连接win7 HB远程桌面,提示如下图报错: 总结: win7 家庭普通版和win7家庭高级版均不支持远程桌面连接; Vista家庭普通版和Vista家庭高级版不支持远程桌面连接.

判断电脑是否支持远程开机方法

  关机模式下,BIOS的电源管理菜单下有Remote Wake Up或Wake on LAN选项的电脑才支持远程开机,若无此选项则不支持远程开机(假如Remote Wake Up开启后不支持远程开机,请咨询硬件提供商.) 如何进入BIOS: 当电脑启动时,通过反复按"DELETE"键或"F2"键,进入BIOS设置. 通常都是到"Power Managment"下寻找,"Wake on LAN", "WOL"

远程仓库-git 提交代码到远程服务器仓库

问题描述 git 提交代码到远程服务器仓库 我在本地机器建了一个仓库repository,然后在本另一个地方克隆了一个,里面放了我的一个项目A,已将A提交到了本地仓库.现在在公司服务器上创建了一个repository,想把项目A传到公司服务器的仓库中.右键项目A ,git push.这个origin要怎么改.求教! 解决方案 origin配置你公司服务器的git地址. 解决方案二: 你跟远程的git连上了吗?没连上则需要上github网站找到项目的url,然后cpoy该url,然后在本地使用该u

请问ant脚本是否支持远程发布应用到weblogic??

问题描述 请问ant脚本是否支持远程发布应用到weblogic??网上查了几个方法,都不行.ant,和weblogic不是同一台机器.ant能否发布编译好的应用到远程的weblogic?请大家给点意见,或链接?? 解决方案 解决方案二:我记得我回答过这个问题.看这里:-------------------------------------------------爱问易-非官方技术支持互助平台-------------------------------------------------几块钱

js判断上传图片代码(支持ie8,firefox,ie6)

  <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="conten