0

我有以下文件:

下载.php

<?php 

$filename = $_GET["filename"];

if ($filename) {
$path = "/svg_files/".$filnavn."";
header('Content-Transfer-Encoding: binary');  // For Gecko browsers mainly
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($path)) . ' GMT');
header('Accept-Ranges: bytes');  // For download resume
header('Content-Length: ' . filesize($path));  // File size
header('Content-Encoding: none');
header('Content-Type: application/svg');  // Change this mime type if the file is not PDF
header('Content-Disposition: attachment; filename=' . $filename);  // Make the browser display the Save As dialog
}
?>

它位于 svg_files 文件夹中。但是当我运行时:

myweb.com/svg_files/download.php?filename=file.svg

我只是得到一个空文件。

4

1 回答 1

1

您必须将文件的内容输出到浏览器。使用readfilefile_get_contentsecho或类似的东西。

作为旁注:注意所谓的目录遍历攻击。你可能想采取一些预防措施。 http://en.wikipedia.org/wiki/Directory_traversal_attack

于 2012-10-25T10:41:36.583 回答