我想下载上传到服务器的文件。我有文件名作为链接,我需要在用户点击它时直接下载文件。我已经成功了。我现在遇到的问题是我无法打开文件在文件名中包含amp
个符号,尽管它已被下载。例如:&,test.doc(包含其他特殊符号的文件名可以下载并正确打开。)
我的php脚本是这样的:
<script>
function downloadme(file){
var link = "download.php?file=" + file;
location.replace(link);
}
</script>
<a title="Click to download" href="javascript:downloadme()">filename</a>
的download.php
<?php
$path = $_GET['file'];
header("Content-Description: File Transfer");
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=\"" . basename($path . $uri[1]) . "\"" );
@readfile($path);
?>
答案 0 :(得分:3)
这就是我做的事情
的download.php:
<?php
$path = $_GET['file'];
header("Content-Description: File Transfer");
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=\"" . basename($path . $uri[1]) . "\"" );
@readfile($_GET['file']);
?>
html文件:
<script>
function downloadme(file){
var link = "download.php?file=" + escape(file);
location.replace(link);
}
</script>
<a title="Click to download" href="javascript:downloadme('test&12.doc')">filename</a>