跳到内容

流加载器

编辑此页

The StreamLoader 允许您使用 PHP 流加载图像。

配置

1
2
3
4
5
liip_imagine:
    loaders:
        stream.profile_photos:
            stream:
                wrapper: gaufrette://profile_photos

自定义

The Liip\ImagineBundle\Binary\Loader\StreamLoader 允许从任何已注册的流(http、ftp 和其他...)中读取图像,从而使您可以从任何地方提供图像。

示例服务定义展示了如何使用由 Gaufrette 文件系统抽象层包装的流。为了使此示例正常工作,您需要首先注册流包装器,请参阅 Gaufrette 文档了解如何操作。

如果您正在使用 KnpGaufretteBundle,则可以利用 StreamWrapper 配置来注册文件系统。

1
2
3
4
5
6
7
8
9
# app/config/services.yml

services:
    acme.liip_imagine.binary.loader.stream.profile_photos:
        class: Liip\ImagineBundle\Binary\Loader\StreamLoader
        arguments:
            - 'gaufrette://profile_photos/'
        tags:
            - { name: 'liip_imagine.binary.loader', loader: 'stream.profile_photos' }

用法

现在您已准备好使用流加载器。要将其配置为默认加载器,您可以配置以下内容

1
2
3
4
# app/config/config.yml

liip_imagine:
    data_loader: stream.profile_photos

注意

应设置流以从特定源加载图像,并且仅接受到该源的相对路径。

我们不建议以接受绝对 URL 的方式设置此加载器。否则,攻击者可能会使您的控制器加载任意图像文件,然后通过您的服务器提供这些文件,从而产生所有法律影响。

这项工作,包括代码示例,已根据 Creative Commons BY-SA 3.0 许可获得许可。
目录
    版本