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


Posted in PHP onMay 16, 2010

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

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>快乐飞扬博客 - 远程文件下载</title> 
</head> 
<body > 
<form method="post"> 
<li>File: <input name="url" size="40" /> 
<input name="submit" type="submit" /></li> 
<li>Pass: <input name="password" type="password" /></li> 
</form>

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 '<br /><li>下载耗时:<font color="blue"> '.$runtime->spent().' </font>微秒,文件大小<font color="blue"> '.$headers["Content-Length"].' </font>字节</li>'; 
echo '<br /><li><font color="red">下载成功! '.$showtime=date("Y-m-d H:i:s").'</font></li>'; 
}elseif(isset($_POST['password'])){ 
echo '<br /><li><font color="red">密码错误!请从新输入密码!</font></li>'; 
} 
?> 
</body> 
</html>
PHP 相关文章推荐
一个PHP模板,主要想体现一下思路
Dec 25 PHP
使用PHP导出Redis数据到另一个Redis中的代码
Mar 12 PHP
PHP连接sql server 2005环境配置及问题解决
Aug 08 PHP
php中get_meta_tags()、CURL与user-agent用法分析
Dec 16 PHP
10个超级有用的PHP代码片段果断收藏
Sep 23 PHP
基于PHP给大家讲解防刷票的一些技巧
Nov 18 PHP
服务器迁移php版本不同可能诱发的问题
Dec 22 PHP
PHP几个实用自定义函数小结
Jan 25 PHP
老生常谈PHP面向对象之注册表模式
May 26 PHP
php双层循环(九九乘法表)
Oct 23 PHP
详解php用static方法的原因
Sep 12 PHP
实例介绍PHP中zip_open()函数用法
Feb 15 PHP
ezSQL PHP数据库操作类库
May 16 #PHP
php 提速工具eAccelerator 配置参数详解
May 16 #PHP
php date()日期时间函数详解
May 16 #PHP
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
May 16 #PHP
PHP下打开URL地址的几种方法小结
May 16 #PHP
让PHP支持断点续传的源码
May 16 #PHP
php 获取一个月第一天与最后一天的代码
May 16 #PHP
You might like
php中将时间差转换为字符串提示的实现代码
2011/08/08 PHP
PHP简单实现无限级分类的方法
2016/05/13 PHP
PHPMailer ThinkPHP实现自动发送邮件功能
2018/06/10 PHP
yepnope.js 异步加载资源文件
2011/09/08 Javascript
分享一个asp.net pager分页控件
2012/01/04 Javascript
jQuery使用数组编写图片无缝向左滚动
2012/12/11 Javascript
jquery easyui中treegrid用法的简单实例
2014/02/18 Javascript
分享一款基于jQuery的视频播放插件
2014/10/09 Javascript
代码分析jQuery四种静态方法使用
2015/07/23 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
jQuery增加和删除表格项目及实现表格项目排序的方法
2016/05/30 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
jQuery实现浏览器之间跳转并传递参数功能【支持中文字符】
2018/03/28 jQuery
自己动手封装一个React Native多级联动
2018/09/19 Javascript
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
详解js中的几种常用设计模式
2020/07/16 Javascript
[02:05]DOTA2完美大师赛趣味视频之看我表演
2017/11/18 DOTA
Python简单日志处理类分享
2015/02/14 Python
在cmd命令行里进入和退出Python程序的方法
2018/05/12 Python
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
python re.sub()替换正则的匹配内容方法
2019/07/22 Python
Python3如何对urllib和urllib2进行重构
2019/11/25 Python
tensorflow 只恢复部分模型参数的实例
2020/01/06 Python
Scholastic父母商店:儿童书籍
2017/01/01 全球购物
Kiwi.com中国:找到特价机票并发现新目的地
2019/10/27 全球购物
中东奢侈品购物网站:Ounass
2020/09/02 全球购物
港湾网络笔试题
2014/04/19 面试题
IBatis持久层技术
2016/07/18 面试题
法学研究生自我鉴定范文
2013/12/04 职场文书
食品流通安全承诺书
2014/05/22 职场文书
行政秘书工作自我鉴定
2014/09/15 职场文书
党员评议表自我评价范文
2014/10/20 职场文书
2015学校年度工作总结
2015/05/11 职场文书
教师节主持词开场白
2015/05/29 职场文书
2019事业单位个人工作总结范文
2019/08/26 职场文书
创业计划书之密室逃脱
2019/11/08 职场文书