请教php下载文件问题

songle912 2012-03-13 04:01:44
目的:从远程链接处下载文件
问题:远程链接提供一个csv格式文件的下载,如:http://adscendmedia.com/campaigncsv.php,访问链接后浏览器提示下载,请问如何通过php代码直接下载此文件到服务器上?(这是后台运行的一个代码片段,所以无法来选择“另存为”方式下载的),各种常规下载方式都试过不行,有什么办法吗?
...全文
127 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdgdf566 2012-03-15
  • 打赏
  • 举报
回复
我看了一下,网址转向了https://adscendmedia.com/campaigncsv.php
注意是https !
jdgdf566 2012-03-15
  • 打赏
  • 举报
回复
补充:也可以试试用socket系列函数抓取。
jdgdf566 2012-03-15
  • 打赏
  • 举报
回复
有两个可能的原因:一是有些网站不支持file_get_contents,fopen等函数的抓取。二是http://adscendmedia.com/campaigncsv.php转向了一个新的网址,这个网址才是要下载的文件。
对于第一个原因,可以尝试CURL函数,curl系列函数能够更好的模拟浏览器。
对于第二个原因,得到新的网址有两个方法。一个方法是在浏览器的下载功能里面,在文件下载过程中可以看到。而是用php的socket系列函数可以输出返回的header信息。
songle912 2012-03-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 mr_merlin 的回复:]

PHP code
<?php
$content=file_get_contents('http://adscendmedia.com/campaigncsv.php');
file_put_contents('file.csv',$content);
你确定尝试过各种方式??
[/Quote]
是的,如果你运行过以上代码就知道,file_get_contents,fopen都不行的,因为http://adscendmedia.com/campaigncsv.php是直接提示下载的,并不是输出内容的.
码无边 2012-03-14
  • 打赏
  • 举报
回复
[Quote=引用楼主 songle912 的回复:]
目的:从远程链接处下载文件
问题:远程链接提供一个csv格式文件的下载,如:http://adscendmedia.com/campaigncsv.php,访问链接后浏览器提示下载,请问如何通过php代码直接下载此文件到服务器上?(这是后台运行的一个代码片段,所以无法来选择“另存为”方式下载的),各种常规下载方式都试过不行,有什么办法吗?
[/Quote]楼主问题没说详细!!!
代码如诗 2012-03-13
  • 打赏
  • 举报
回复
<?php
$content=file_get_contents('http://adscendmedia.com/campaigncsv.php');
file_put_contents('file.csv',$content);
你确定尝试过各种方式??
songle912 2012-03-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 libo_sina 的回复:]

fname= "fds.zip "; //改为下载文件的名字
header( 'Content-Disposition: attachment; filename= " '.$fname. ' " ');
header( 'Accept-Ranges: bytes ');
header( 'Content-Type: application/x-unknown ');……
[/Quote]
朋友,你确定用我提供的链接尝试过吗?我说过常规下载方式我都试过了,复制+粘贴用处不大的,谢谢你了
libo_sina 2012-03-13
  • 打赏
  • 举报
回复
fname= "fds.zip "; //改为下载文件的名字
header( 'Content-Disposition: attachment; filename= " '.$fname. ' " ');
header( 'Accept-Ranges: bytes ');
header( 'Content-Type: application/x-unknown ');
header( 'content-Transfer-Encoding: binary ');
header( 'Content-Length: 4 ');
echo "xxx ";

参考
http://bbs.chinaunix.net/viewthread.php?tid=668683&extra=page%3D1
songle912 2012-03-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yunprince 的回复:]

引用楼主 songle912 的回复:
请问如何通过php代码直接下载此文件到服务器上?

这叫写入文件,不叫下载!
[/Quote]
怎么叫无所谓,就是要通过http://adscendmedia.com/campaigncsv.php获取到文件内容。
yunprince 2012-03-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 songle912 的回复:]
请问如何通过php代码直接下载此文件到服务器上?
[/Quote]
这叫写入文件,不叫下载!

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧