在PHP上使用MVC时从目录下载文件
因此,我在PHP上使用MVC开发了一个网站,在根目录中有一个名为“uploads”的文件夹。在我的HTML中,我有一些锚定标签,可以从上传文件夹中下载文件。我尝试了以下方法,但没有成功:在PHP上使用MVC时从目录下载文件,php,file,model-view-controller,download,Php,File,Model View Controller,Download,因此,我在PHP上使用MVC开发了一个网站,在根目录中有一个名为“uploads”的文件夹。在我的HTML中,我有一些锚定标签,可以从上传文件夹中下载文件。我尝试了以下方法,但没有成功: <a download href="uploads/file_name.ext"> Download </a> 我应该怎么做呢?首先,创建一个php脚本来获取请求的文件,并使用get请求下载文件 例如,将您的请求从uploads/file_name.ext转换为download.p
<a download href="uploads/file_name.ext"> Download </a>
我应该怎么做呢?首先,创建一个php脚本来获取请求的文件,并使用get请求下载文件 例如,将您的请求从uploads/file_name.ext转换为download.php?file=file_name.ext。 然后,使用下面的php代码
$file_url = "uploads/".$_GET["file"];
header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\"");
readfile($file_url);
exit;
创建下载脚本后,最终的html代码如下所示
<a href="download.php?file=file_name.ext"> Download </a>
就这些试试这个
<?php
if (isset($_REQUEST['file']) )
{
$filename = $_REQUEST['file'];
header("Content-type:application/txt");
header("Content-Disposition:attachment;filename='$filename'");
}
else
{
// error goes here
}
?>
<a download href="uploads/file_name.txt"> Download </a>
可能尝试一下
(在a
和href
之间删除下载)不幸的是,如果我删除“下载”这个词,它只会将我重定向到一个不存在的页面。然后上载/file_name.ext
是不正确的。您需要文件的实际路径。另外,如果你把下载放在那里会发生什么?你从来没说过。我试着下载一个PDF文件,然后把它改成PNG图像文件,结果成功了。我想问题在于PDF文件