【发布时间】:2014-06-11 14:51:04
【问题描述】:
我需要从 url 下载一个 zip 文件到我的服务器,它是动态生成的,这意味着 url 中不会有扩展名。 zip 文件将由 url 生成。我们需要将该 zip 文件保存在服务器中。
我试过了。
function DownloadFile($reportDownloadUrl, $downloadPath) {
$reader = fopen(urldecode($reportDownloadUrl), 'rb') or die("url cannot open");
if (!file_exists($downloadPath)) {
die('File does not exist');
}
$writer = fopen($downloadPath, 'wb') or die("cannot open file");
if (!$reader) {
throw new Exception("Failed to open URL " . $reportDownloadUrl . ".");
}
if (!$writer) {
fclose($reader);
throw new Exception("Failed to create ZIP file " . $downloadPath . ".");
}
$bufferSize = 10 * 1024;
while (!feof($reader)) {
if (false === ($buffer = fread($reader, $bufferSize))) {
fclose($reader);
fclose($writer);
throw new Exception("Read operation from URL failed.");
}
if (fwrite($writer, $buffer) === false) {
fclose($reader);
fclose($writer);
$exception = new Exception("Write operation to ZIP file failed.");
}
}
fclose($reader);
fflush($writer);
fclose($writer);
}
通过使用它,我可以下载扩展名为 .zip 文件的文件,但我无法下载没有扩展名的文件。我一直在努力解决这个问题,一定有办法,任何建议都非常感谢。
提前谢谢你。
【问题讨论】: