下载file_get_contents响应 - php

我有以下jQuery:

$(".download").click(function(){     
  $.post('get_bot.php', "url_code="+url_code, function (response) {
    alert(response);
  });
});

url_code是一个具有json结构的url的变量,这是返回的实时示例:
https://services.sapo.pt/Codebits/botmake/01,02,03,04,05,06,07,08,I%20Rule!

这些数字是生成不同图像的参数。

在我的get_bot.php页面上,我正在做:

$urlc=$_POST['url_code'];
$bot = file_get_contents($urlc);
header("content-type: image/png");
echo $bot;

我正在寻找有关如何以.png文件下载的方式获取响应的方法,因此,当用户单击.download时,会出现一个带有.png文件的下载窗口提示。

传递正确的URL并回显file_get_content结果似乎很好(尽管如果我尝试右键单击并保存图像,它实际上会保存php文件...)

这方面的任何帮助都将是非常有用的,我对json结构不是很有经验,到目前为止,我只处理数组结构,从未处理过图像输出。

我知道我可能距离实际结果还差得远,但是任何指针都将不胜感激。

参考方案

RFC2616描述您需要做什么。基本上,您需要添加

Content-Disposition: attachment; filename="fname.ext"

如果我没记错的话,到标题。

编辑
这是一个示例脚本。我已经确认这可以在两台具有不同设置的服务器上运行。

<?php
  header("content-type: image/jpg");
  header("Content-Disposition: attachment; filename='pic.jpg'");
  readfile('http://lorempixel.com/400/200/');
?>

AJAX和file_get_contents - php

我有一个使用file_get_contents的脚本,然后解码返回的JSON ...$urlone = json_decode(file_get_contents("http://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=f…

如何在codeigniter中检查请求是POST还是GET请求? - php

我只是想知道是否有一种非常简单的方法来确定请求是$_POST还是$_GET请求。那Codeigniter有这样的东西吗?$this->container->isGet(); 参考方案 我从未使用过codeigniter,但为此我检查了$_SERVER['REQUEST_METHOD']。看the docs也许像这样:if ($…

PHP-将日期插入日期时间字段 - php

我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数

如何通过php标头重定向传递在GET字符串中接收的变量? - php

用户提交表单后,我正在从Aweber接收GET字符串中的值。我将变量发送给我,然后将其提交到SMS网关,以通过短信通知第三方提交。这是我的问题。我需要将在php标头中执行传出SMS命令的页面重定向到另一个页面,该页面最终显示从Aweber发送的GET变量。我可以在第一页中检索变量及其值。如何将它们传递到第二页?这是我在第一页(sms.php)上用来收集Awe…

PHP:file_get_contents($ loc)失败 - php

我只是将一个项目从localhost移到了我的远程服务器上,并且注意到我的某些脚本停止工作了。最重要的是依赖file_get_contents()从另一个脚本中获取JSON值的脚本。PHP版本是5.2.4allow_url_fopen开启 警告:file_get_contents() [function.file-get-contents]:php_netw…