首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php获取可下载文件的文件内容

php获取可下载文件的文件内容
EN

Stack Overflow用户
提问于 2013-11-21 16:07:07
回答 2查看 528关注 0票数 0

Coult在网上找不到任何类似的问题,下面是我的情况:

我有一个.jsp“网页”,它根据特定的参数生成一个.csv文件。例如,如果我使用浏览器打开站点,则输入:

代码语言:javascript
复制
redownloadsubmitter.jsp?id=225&batch_id=2013_11_20&orgshort=NEP

然后,脚本使用查询字符串中的数据并生成匹配的.csv文件,名为:NEP_DETAILS_2013_11_20.csv

现在我想要的是不用手动使用我的浏览器,打开脚本并将文件下载到我的本地硬盘上。相反,我想使用一个PHP脚本来获取内容,然后根据我的需要进一步格式化它。

我考虑了下面的代码,但这不起作用。相反,当我尝试它时,它什么也不返回,空网站。

代码语言:javascript
复制
$download = file_get_contents('redownloadsubmitter.jsp?id=225&batch_id=2013_11_20&orgshort=NEP');
echo $download;

还有其他想法吗?

注意到:万一有人有这个问题:我无法访问.jsp文件,因此不能更改它的操作方式。

EN

回答 2

Stack Overflow用户

发布于 2013-11-21 16:13:55

file_get_contents()并不聪明,也不知道这是你要传递的网址。它试图打开一个名为redownloadsubmitted.jsp.etc.....的本地文件。

如果希望f_g_c()执行HTTP操作,则必须包含一个完整的URL:

代码语言:javascript
复制
$download = file_get_contents('http://example.com/redownloadsubmitter.jsp etc....');'
票数 2
EN

Stack Overflow用户

发布于 2013-11-21 16:25:59

尝试下载文件的代码。

代码语言:javascript
复制
<?php
/**
 *  $filename       filename in server
 *  $downloadname   filename when download file
 */
$filename = __FILE__;
$dowloadname = 'PHPDownload.php';
Header("content-type:application/octet-stream"); 
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($filename));
Header("Content-Disposition: attachment; filename=".$dowloadname);
if(file_exists($filename) && $fp=fopen($filename,"r"))  //file exists and open it 
{ 
    echo fread($fp,filesize($filename));    //read write to the browser 
    fclose($fp); 
}

//End_php
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20126013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档