-1

我有这个网址

www1.intranet.com/reportingtool.asp?settings=var&export = ok

在那里我可以下载报告。报告的文件名包括时间戳。例如123981098298.xls并且每次下载时都会有所不同。

我想要一个具有以下功能的脚本:

<?php
//Download the File

//rename it to **report.xls**

//save it to a specified place
?>

在搜索 stackoverflow 和谷歌搜索这个主题后,我没有任何想法:(

这一般可以吗?

4

2 回答 2

7

最简单的场景

您可以通过以下方式下载报告file_get_contents

$report = file_get_contents('http://www1.intranet.com/reportingtool.asp?...');

并将其保存在本地(在运行 PHP 的机器上)file_put_contents

file_put_contents('/some/path/report.xls', $report);

更多选择

  • 如果下载需要控制 HTTP 请求(例如,因为您需要使用 cookie 或 HTTP 身份验证),则必须通过cURL它来完成请求的完全自定义。
  • 如果报告的大小很大,那么它可以直接流式传输到目标,而不是分三个步骤进行读/存储/写(例如,使用// fopen)。freadfwrite
于 2013-10-08T13:26:46.437 回答
2

根据您的安全设置,这可能不起作用,但这是一个简单的示例:

<?php
$file = file_get_contents('http://www1.intranet.com/reportingtool.asp?settings=var&export=ok');
file_put_contents('/path/to/your/location/report.xls', $file);

请参阅file_get_contentsfile_put_contents

于 2013-10-08T13:26:36.570 回答