php - 使用 laravel 强制链接下载文件

标签 php laravel laravel-5.1

the link

我希望能够点击一个链接,它会从 Laravel 公用文件夹下载一个文件。我需要查看为实现此目的而需要编写的路由和 Controller 。

我可以只通过 php 实现吗?

if (isset($_GET["download"])){

    $search = $_GET["download"];
    $dir =  $clipDir->clip_path1($search); 
    $Base = basename($dir);

    if (file_exists($dir)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.$Base);
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($dir));
    ob_clean();
    flush();
    readfile($dir);
    exit;
    }  else {
    echo 'File Dont Exit <br />'.  print_r($dir);
    return false;

}

文件存储在 Laravels 公用文件夹中。

最佳答案

看看Response::download并做类似的事情:

return Response::download($yourfile, 'nameoffile.extension');

关于php - 使用 laravel 强制链接下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35571817/

相关文章:

php - 在 url 中传递变量以获取特定的 JSON 输出

PHP:关于在 URL 中传递参数的问题

php - 如何在 Laravel 5.1 中搜索逗号分隔值?

php - Laravel - 如何注册自定义广播者

php - AbstractSmtpTransport.php 中的 Swift_TransportException 第 404 行 : Connection to smtp. gmail.com:465 超时

php - 你如何找到 PHP 中 2 个字符串之间的区别?

php - 无法连接到数据库 mytable : could not find driver

php - 使用 Laravel 和 Mysql 处理超过 1 亿条记录

Laravel Mix URL 处理扭曲文件路径

拉拉维尔 4 : where's the profiler?