Php 从SilverStripe中的路径创建图像实例

Php 从SilverStripe中的路径创建图像实例,php,silverstripe,Php,Silverstripe,例如,假设我们有路径/assets/no thumbnail.png,如何将其加载到SilverStripe中的Image类中?我有办法做到这一点吗 我问这个问题的原因是因为我想要Image类中可用的方法。是的,对于/assets文件夹中存在的文件来说,这非常简单。虽然对于其他位置的文件可能可以实现,但我将描述的方法将处理该文件,与您通过CMS上传的任何其他文件没有区别 首先,我们需要确保此图像有DB记录。幸运的是,如果您需要以编程方式执行此操作,那么它可以像调用一样简单。如果没有,CMS中的文

例如,假设我们有路径
/assets/no thumbnail.png
,如何将其加载到SilverStripe中的
Image
类中?我有办法做到这一点吗


我问这个问题的原因是因为我想要
Image
类中可用的方法。

是的,对于
/assets
文件夹中存在的文件来说,这非常简单。虽然对于其他位置的文件可能可以实现,但我将描述的方法将处理该文件,与您通过CMS上传的任何其他文件没有区别

首先,我们需要确保此图像有DB记录。幸运的是,如果您需要以编程方式执行此操作,那么它可以像调用一样简单。如果没有,CMS中的文件选项卡中会有一个“同步”按钮


完成后,您只需调用
File::get()->filter('Name','no-thumbnail.png')->first()
(甚至只是)即可获得“正确的”
图像
对象,允许您调用其中任何一个对象。

这非常有效,我使用了File::find(),因为代码看起来更干净。非常感谢你。