手机
当前位置:查字典教程网 >编程开发 >php教程 >php带密码功能并下载远程文件保存本地指定目录 修改加强版
php带密码功能并下载远程文件保存本地指定目录 修改加强版
摘要:原作者BlueStyle提示改进地方有以前的算法是等文件下载完才计算,现在这个直接在在获取文件时候就计算大小加了容错语句增加了判断目录,没有...

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

原作者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给一组指定关键词添加span标签的方法

PHP实现远程下载文件到本地

php跨服务器访问方法小结

php实现粘贴截图并完成上传功能

PHP获取远程图片并保存到本地的方法

PHP+MYSQL的文章管理系统(一)

php生成年月日下载列表的方法

PHP巧获服务器端信息

PHP中在数据库中保存Checkbox数据(1)

递归列出所有文件和目录

精品推荐
分类导航