【问题标题】:PHP save file from automatic save pagePHP从自动保存页面保存文件
【发布时间】:2015-11-12 16:03:31
【问题描述】:

我正在访问一个网站,该网站已经提供了以下功能:当用户浏览器访问该网址时,它会自动提示窗口下载包含文件(视频)。在我的脚本中,我需要使用 php 将这个附件从这个站点下载到磁盘。我尝试使用 curl:

function get_data($url) {
    $ch = curl_init();
    $timeout = 5;
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}

还有类似的file_get_contents,但它对我不起作用。它让我只在该网站上包含 HTML。你知道如何使用 php 将这个文件保存在磁盘上吗?

【问题讨论】:

  • 我不认为,这是重复的,因为我试图“反转”这个问题并模拟浏览器的行为。
  • 所以发送浏览器标头......你能澄清一下“模拟浏览器的这种行为”是什么意思吗?
  • 是的,我需要简单地下载这个自动下载文件,我需要使用 php.ini 来完成。我可以通过使用标题来做到这一点吗?
  • 这并不能解释您所说的“模拟浏览器的这种行为”是什么意思。重复的问题向您展示了如何下载文件。

标签: php


【解决方案1】:

开发人员在 PHP 中执行此操作的一种标准方法是使用“header”方法。调用header后,页面可以输出视频内容,提示用户下载。

请参阅此示例:PHP header attach AVI-file

【讨论】:

  • 如果有重复,请将问题标记为重复关闭,或将链接发布为评论。这不是 SO 指南中的有效答案。
  • 这可能是也可能不是重复的,这取决于文件类型等。
  • 我不确定我们是否相互理解,也许问题出在我的网站上,但我不想强迫我的网站为用户提示下载窗口。我正在尝试从提示此自动窗口的站点下载此类文件,我需要使用 php 来执行此操作。
  • 你试过“标题”的方法吗?它目前在您的网站上做什么?
猜你喜欢
  • 2013-12-08
  • 1970-01-01
  • 1970-01-01
  • 2014-09-18
  • 1970-01-01
  • 2011-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多