流加载器
The StreamLoader
允许您使用 PHP 流加载图像。
配置
1 2 3 4 5
liip_imagine:
loaders:
stream.profile_photos:
stream:
wrapper: gaufrette://profile_photos
自定义
The Liip
允许从任何已注册的流(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 许可获得许可。