【问题标题】:Check if a url offers a downloadable file?检查网址是否提供可下载文件?
【发布时间】:2016-09-17 11:52:12
【问题描述】:

我目前正在处理一些会员供稿,其中大多数以原始 .csv 格式提供。我正在使用 file_get_contents 和 fputcsv() 生成 .csv 文件。

不幸的是,我的附属网址之间还有一个链接,当您在浏览器中访问该网址时,它会立即下载一个 csv 文件。这不需要进一步的工作,因为它是一个完美的 .csv 文件。

由于我只是将我的网址放在一个数组中,因此我需要检查文件何时作为下载链接提供。如何检查这一点,这样我就可以跳过所有默认的 .csv 逻辑而不弄乱这个文件?

我不知道要搜索什么,因为我不知道当文件直接下载而不是查看原始 csv 数据时究竟会发生什么。希望有人可以帮助我。

【问题讨论】:

  • 您只想检查给定的链接是否可下载?
  • 对不起我的措辞,但一个 url 可以包含在浏览器中可见的原始 .csv 数据,或者您访问的 url 如果您访问它可以直接用您的浏览器直接下载文件。我需要检查这种差异。编辑了我的标题哈哈。

标签: php file csv url file-get-contents


【解决方案1】:

您可以使用 CURL 检查文件是否可下载:

PHP

    function checkDownloadable($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_NOBODY, 1);
    curl_setopt($ch, CURLOPT_FAILONERROR, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    if(curl_exec($ch) !== FALSE) {
        return true;
    }
    else {
        return false;
    }
}

【讨论】:

  • 感谢我所需要的,我得尽快加强我的 curl 游戏。
  • 正在等待计时器:P
猜你喜欢
  • 2011-01-17
  • 2018-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-02
  • 1970-01-01
  • 2018-06-21
  • 1970-01-01
相关资源
最近更新 更多