php带密码功能并下载远程文件保存本地指定目录 修改加强版_PHP教程

php中文网
发布: 2016-07-21 15:37:45
原创
925人浏览过

php带密码功能并下载远程文件保存本地指定目录 修改加强版_PHP教程
原作者BlueStyle 提示 改进地方有

以前的算法是等文件下载完才计算,
现在这个直接在在获取文件时候就计算大小
加了容错语句
增加了判断目录,没有目录自动创建
把计算文件大小的算法换了个
以前的那个光计算文件大小就7行代码,
现在这个只要两行

转载请保留原作者版权信息,由于作者是政府人员,为不惹麻烦,请保留此段文字完整性
html代码:

复制代码 代码如下:





快乐飞扬博客 - 远程文件下载



  • File:

  • Pass:



  • PHP代码:
    复制代码 代码如下:

    php
    # Copyright 2010 快乐飞扬
    # http://www.klfy.org/ 供新手学习参考
    set_time_limit (0); //不限时 24 * 60 * 60
    $password = 'admin'; //管理密码
    $pass = $_POST['password'];
    if ($pass == $password) {
    class runtime {
    var $StartTime = 0;
    var $StopTime = 0;
    function get_microtime(){list($usec, $sec) = explode(' ', microtime());
    return ((float)$usec + (float)$sec);}
    function start() {$this->StartTime = $this->get_microtime();}
    function stop() {$this->StopTime = $this->get_microtime();}
    function spent() { return round(($this->StopTime - $this->StartTime) * 1000, 1);}
    }
    $runtime= new runtime;
    $runtime->start();
    if (!isset($_POST['submit'])) die();
    $destination_folder = './Download/'; // 下载的文件保存目录。必须以斜杠结尾
    if(!is_dir($destination_folder)) //判断目录是否存在
    mkdir($destination_folder,0777); //若无则创建,并给与777权限 windows忽略
    $url = $_POST['url'];
    $headers = get_headers($url, 1); //得到文件大小
    if ((!array_key_exists("Content-Length", $headers))) {$filesize=0; }
    $newfname = $destination_folder . basename($url);
    $file = fopen ($url, "rb");
    if ($file) {
    $newf = fopen ($newfname, "wb");
    if ($newf)
    while(!feof($file)) {fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 );}
    }
    if ($file) {fclose($file);}
    if ($newf) {fclose($newf);}
    $runtime->stop();
    echo '
  • 下载耗时: '.$runtime->spent().' 微秒,文件大小 '.$headers["Content-Length"].' 字节
  • ';
    echo '
  • 下载成功! '.$showtime=date("Y-m-d H:i:s").'
  • ';
    }elseif(isset($_POST['password'])){
    echo '
  • 密码错误!请从新输入密码!
  • ';
    }
    ?>


    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/321903.htmlTechArticle原作者BlueStyle 提示 改进地方有 以前的算法是等文件下载完才计算, 现在这个直接在在获取文件时候就计算大小 加了容错语句 增加了判断...
    相关标签:
    php
    PHP速学教程(入门到精通)
    PHP速学教程(入门到精通)

    PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

    下载
    来源:php中文网
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    最新问题
    开源免费商场系统广告
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号