Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP上使用MVC时从目录下载文件_Php_File_Model View Controller_Download - Fatal编程技术网

在PHP上使用MVC时从目录下载文件

在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

因此,我在PHP上使用MVC开发了一个网站,在根目录中有一个名为“uploads”的文件夹。在我的HTML中,我有一些锚定标签,可以从上传文件夹中下载文件。我尝试了以下方法,但没有成功:

<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文件