【问题标题】:Unable to download csv using php script无法使用 php 脚本下载 csv
【发布时间】:2015-09-16 08:24:19
【问题描述】:

我已经搜索了有关此主题的现有问题,但找不到解决方案。请求您的关注以帮助我解决此问题。

我正在尝试创建一个脚本来从远处获取 csv 文件(并将其上传到数据库)。我收到以下错误:

警告:fopen(http://www.nseindia.com/products/content/sec_bhavdata_full.csv):打开流失败:HTTP 请求失败! HTTP/1.0 403 Forbidden in /home/path/csvUploadScript.php on line 20 打开数据文件时出错。

我检查了 php.ini 文件:allow_url_fopen 设置为“开启”

这是我必须获取文件内容的代码:

`define('CSV_PATH','http://www.nseindia.com/products/content/');
$csvfile = CSV_PATH . "sec_bhavdata_full.csv"; 
$file = fopen($csvfile,"r");`

当 csv 文件在同一台服务器上可用时,上传部分可以正常工作,但当我尝试直接从 nseindia 站点上传 csv 时会出错。

我做错了什么?

【问题讨论】:

    标签: php csv download web-crawler


    【解决方案1】:

    将这些行放入您的代码中

    header('Content-type: text/csv');
    header('Content-Disposition: attachment; filename="your filename.csv"');
    

    【讨论】:

    • 感谢您的回复。使用这些行运行脚本,将文件下载到我的 PC。我想获取 csv 的内容并直接将其上传到数据库中而无需下载。我没有分享上面脚本的上传部分,但同样的脚本也应该使用 csv 将数据上传到数据库。
    【解决方案2】:

    在回显输出之前将其添加到代码顶部

        header("Content-type: application/csv");
        header("Content-Disposition: attachment; filename=" . date('Y-m-d H.i.s') . ' - file-namw.csv');
        header("Pragma: no-cache");
        header("Expires: 0");
    

    【讨论】:

    • 感谢您的回复。添加这些行,将文件下载到我的 PC。我想获取csv的内容并直接上传到数据库而不下载。
    • @ruchi 亲爱的你可以在这里找到简单的解决方案codechewing.com/library/… 如果这个解决方案对你有用,请接受答案
    【解决方案3】:

    header("Content-Description: File Transfer"); 
    header("Content-Type: application/octet-stream"); 
    header('Content-Disposition: attachment; filename="your filename.csv"'');

    【讨论】:

      猜你喜欢
      • 2015-05-03
      • 1970-01-01
      • 2023-01-04
      • 1970-01-01
      • 2014-05-03
      • 2013-04-21
      • 2020-10-15
      • 2011-10-30
      • 2016-04-04
      相关资源
      最近更新 更多