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与MySQL开发中页面乱码的产生与解决
Mar 27 PHP
PHP 上传文件大小限制
Jul 05 PHP
php下通过IP获取地理位置的代码(小偷程序)
Jun 09 PHP
解析wamp5下虚拟机配置文档
Jun 27 PHP
discuz免激活同步登入代码修改方法(discuz同步登录)
Dec 24 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
Nov 17 PHP
PHP生成RSS文件类实例
Dec 05 PHP
编写PHP脚本过滤用户上传的图片
Jul 03 PHP
PHP中SSO Cookie登录分析和实现
Nov 06 PHP
php异步:在php中使用fsockopen curl实现类似异步处理的功能方法
Dec 10 PHP
php面向对象的用户登录身份验证
Jun 08 PHP
PHP回调函数与匿名函数实例详解
Aug 16 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安全下载文件的方法
2016/04/07 PHP
PHP 数组黑名单/白名单实例代码详解
2019/06/04 PHP
JavaScript 构造函数 面相对象学习必备知识
2010/06/09 Javascript
jQuery实现点击图片翻页展示效果的方法
2015/02/16 Javascript
jQuery中animate用法实例分析
2015/03/09 Javascript
举例讲解AngularJS中的模块
2015/06/17 Javascript
JS中检测数据类型的几种方式及优缺点小结
2016/12/12 Javascript
浅谈键盘上回车按钮的js触发事件
2017/02/13 Javascript
Vuejs仿网易云音乐实现听歌及搜索功能
2017/03/30 Javascript
React进阶学习之组件的解耦之道
2017/08/07 Javascript
javascript trie前缀树的示例
2018/01/29 Javascript
详解Axios 如何取消已发送的请求
2018/10/20 Javascript
使用vue-cli webpack 快速搭建项目的代码
2018/11/21 Javascript
iphone刘海屏页面适配方法
2019/05/07 Javascript
Vue CLI2升级至Vue CLI3的方法步骤
2019/05/20 Javascript
基于Proxy的小程序状态管理实现
2019/06/14 Javascript
解决vue打包后vendor.js文件过大问题
2019/07/03 Javascript
基于 Vue 的 Electron 项目搭建过程图文详解
2020/07/22 Javascript
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
2019/01/05 Python
Python3 使用pillow库生成随机验证码
2019/08/26 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
Pytest单元测试框架如何实现参数化
2020/09/05 Python
CSS3制作炫酷的自定义发光文字
2016/03/28 HTML / CSS
简单介绍HTML5中的文件导入
2015/05/08 HTML / CSS
日本著名的服饰鞋帽综合类购物网站:MAGASEEK
2019/01/09 全球购物
外企C语言笔试题
2013/11/10 面试题
函授毕业生自我鉴定
2013/11/06 职场文书
高中军训感言400字
2014/02/24 职场文书
倡议书范文
2014/04/16 职场文书
销售个人求职信范文
2014/04/28 职场文书
诚实守信演讲稿
2014/09/01 职场文书
领导班子奢靡之风查摆问题及整改措施
2014/09/27 职场文书
乱丢垃圾袋检讨书
2014/10/08 职场文书
2015年国庆晚会主持词
2015/07/01 职场文书
教师素质教育心得体会
2016/01/19 职场文书