用php远程下载文件到服务器
2009 十一月 3
由于我的ubuntu 9.04已经over 了,昨天重新装了9.10,很多东东都要重新弄,今天去
http://dlc.sun.com/virtualbox/vboxdownload.html#linux下载sun virtualbox ,却出现Server not found错误:
由于我记得以前在http://www.blinux.cn/using-php-remote-network-file-downloaded-to-the-server/看到的通过远程网络下载文件,于是决定试一试这个方法,因为我用的是美国的LP 主机,因此完全符合条件。不试不知道,一试吓一跳!
40几M的sun virtualbox竟然在几秒钟之内(一点都不夸张,绝对不超过5秒!)就下载完成了,终于知道什么叫网速快了。
这是php文件代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <form method="post"> <input name="url" size="50" /> <input name="submit" type="submit" /> </form> <?php $pwd='238a87f99a5e3f8e76864182eba140cf'; if ($_REQUEST['pwd']!=$pwd) exit('Sorry ,you are not validate user!'); // maximum execution time in seconds set_time_limit (24 * 60 * 60); if (!isset($_POST['submit'])) die(); // folder to save downloaded files to. must end with slash $destination_folder = 'temp/'; $url = $_POST['url']; $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); echo 'OK,File has been downloaded!'; } ?> |
17 Responses
Post a comment







灯哥你好 我想问问你的那图片上的firefox的扩展叫什么名字啊?可以看到css、cookies、information等等之类的,好强大。。。我也想下载个玩玩
web developer ,一直在用,很好很强大
fopen被禁用怎么办,还有其他方法实现吗?
@sjg,
解决办法是有 (http://abcs007.javaeye.com/blog/591980),不过觉得没必要了。
如果你的服务器连fopen都禁用了,那么我相信应该不是外国主机吧?就算是也可能不能用来下东西的,至少,目前我用过的米国主机,还没有见到过把fopen都禁用掉的。
@荒野无灯,
是美国的主机sixserve.com
http://ihacklog.com/external_link_redirect/aHR0cDovL3hpbmdzamcuc2l4c2VydmUubmV0L2kucGhw5o6i6ZKI5Zyw5Z2A
这个空间没有开启allow_url_fopen所以file_get_contents也不能用········
郁闷中·······
@sjg, allow_url_fopen禁用了啊?那没办法了。
好久没来了~
@mypcfix, 呵呵,欢迎回访啊。-_-
突然发觉博主的时区 和偶的不同来。
@CrossYou, 从哪里发现的?
@荒野无灯,
我这里的时刻是上午9:26 2009年11月5日
@CrossYou,
是偶错了,晕
你的代码高亮 是用的插件还是自己修改的代码?。偶正在寻思这个问题呢,想着自己做个这样的插件用用。
@CrossYou, 我用的是一个叫 codecolorer的插件。
这个好
其实本没有沙发,抢的人多了,沙发就诞生了
想换个友链 不知博主意下如何?
@CrossYou, 友情链接?当然可以-_- 常来常往哦