您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php如何实现代理下载文件

2026/2/3 20:47:11发布13次查看
假如a.com/a.rar在天朝无法访问,如果写一个a.php脚本,放在海外服务器上,访问脚本路径b.com/a.php?url=http://a.com/a.rar
就可以实现文件下载了,请问这个a.php文件怎么写
回复讨论(解决方案) 你确定 绕着弯就可以翻墙了?
http://www.cnblogs.com/sum41van/articles/1422450.html
b.com/a.php?url=http://a.com/a.rar
如果文件不大可以这样写
$url = isset($_get['url'])? $_get['url'] : '';if($url){ $content = file_get_contents($url); if($content){ header('cache-control:public'); header('content-type:application/octet-stream'); header('content-disposition:attachment; filename='.basename($url)); echo $content; }}

要保证
1.天朝可以访问b.com
2.b.com可以访问a.com
可以使用 curl $url = '传入的目标url';$ch = curl_init(); //初始化curl_setopt($ch, curlopt_url, $url);//curl_setopt($ch, curlopt_referer, '某个来路url'); //伪造来路页面curl_setopt($ch, curlopt_header, 1); curl_setopt($ch, curlopt_writefunction, 'func');curl_exec($ch); //执行function func($ch, $str) { static $s = '@'; if($s) { $s = trim($str); if($s) header($s); }else echo $str; return strlen($str);}
b.com/a.php?url=http://a.com/a.rar
如果文件不大可以这样写
$url = isset($_get['url'])? $_get['url'] : '';if($url){ $content = file_get_contents($url); if($content){ header('cache-control:public'); header('content-type:application/octet-stream'); header('content-disposition:attachment; filename='.basename($url)); echo $content; }}

谢谢亲,如果能加入下载流量统计就好了 下载次数统计?
下载次数统计?
不是的。就是记录通过这个文件下载过的文件大小加起来数值 把下载的功能,整合到方法里面,执行一次就往数据表加1
下载次数统计?
不是的。就是记录通过这个文件下载过的文件大小加起来数值
下的文件大小加起??
echo strlen($content); 
可以?取大小后在?。
下载次数统计?
不是的。就是记录通过这个文件下载过的文件大小加起来数值
下的文件大小加起??
echo strlen($content); 
可以?取大小后在?。
谢谢啦,今天学了一天的html把代码整合进去的作品
下载次数统计?
不是的。就是记录通过这个文件下载过的文件大小加起来数值
下的文件大小加起??
echo strlen($content); 
可以?取大小后在?。
谢谢啦,今天学了一天的html把代码整合进去的作品
http://qqgae.byethost16.com/1/ 如问题解决了请结贴。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product