我有以下文件:
的download.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
我只是得到一个空文件。
答案 0 :(得分:1)
您必须将文件内容输出到浏览器..
使用readfile
或file_get_contents
和echo
或类似内容。
作为旁注:注意所谓的目录遍历攻击。你可能想采取一些预防措施。 http://en.wikipedia.org/wiki/Directory_traversal_attack