duankezong4064
2017-08-23 14:16 阅读 44
已采纳

Symfony:从web文件夹中获取控制器中的文件

I want to get pdf file from web folder in controller, but can't figure out how to do it.

I've try to get path like this

// 1
$file = __DIR__ . '/../../../../web/1.pdf';  

// 2
$file = $this->get('kernel')->getRootDir().'\..\web\1.pdf';

// 3
$isSecure = $request->isSecure() ? 'https://' : 'http://';
$file = $isSecure . $request->getHost() . $this->container->get('assets.packages')->getUrl('1.pdf');

and then use file controller helper but it didn't work.

How can I get that file from public directory?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    douchuang4181 douchuang4181 2017-08-23 14:24

    Try this -

    Append this to autoload.php

    define('APPLICATION_PATH', realpath(__DIR__) . '/');
    define('WEB_PATH',  APPLICATION_PATH . '../web/');
    

    also you can add another folders

    Then

    file_get_content(WEB_PATH . 'your_file.pdf');
    

    Another way -

    $path = $this->getParameter('dir.downloads');
    

    But don't forget to declare it on parameters.yml like this

    parameters:
        ....
        dir.downloads: var/www (your folder)
        ....
    
    点赞 评论 复制链接分享

相关推荐