首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将文件上载到日期文件夹之前的自定义位置

将文件上载到日期文件夹之前的自定义位置
EN

Stack Overflow用户
提问于 2014-12-01 11:13:15
回答 2查看 809关注 0票数 0

我已经在Bolt2.0中构建了一个带有图像字段的自定义contenttype。

代码语言:javascript
复制
    image:
        type: image

如果没有指定文件夹,则上载的文件将转到按年月命名的文件夹。

结果: 2014-11/myFileName.jpg

通过标签上传,我可以将其更改为其他内容。

代码语言:javascript
复制
    image:
        type: image
        upload: "News/" 

结果: News/myFileName.jpg

是否有可能在我的自定义路径之后获得年度月文件夹?

结果: News/2014-11/myFileName.jpg

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-01 21:59:49

答案是肯定的,但不是很简单,所以如果您想要一种可配置的方法来实现这一点,您需要等待2.1的Bolt,我们将在其中向upload:设置中添加变量。

如果您不介意设置自己的引导文件并修改应用程序,那么现在就可以这样做。

日期前缀由$app‘uppload.前缀’设置生成,当前返回日期字符串。要修改它,您需要做的是将它更改为您自己的闭包。如果需要的话,我还没有在如此调整的项目上测试过这一点,但之后:

代码语言:javascript
复制
$app->initialize();

// Redefine the closure
$app['upload.prefix'] = function() {
    $setting = $app['request']->get('handler');
    $parts = explode('://', $setting);
    $prefix = rtrim($parts[0], '/') . '/';
    return $prefix.date('Y-m') . '/';

};
$app->run();

我们在这里要做的是读取请求中传递的设置,然后将默认日期前缀连接到它的末尾。

如前所述,2.1将在路径中引入变量支持,因此选项如下

代码语言:javascript
复制
 upload: news/{%month%}/{%day%}
 upload: uploads/{%contenttype%}/{%id%}

在contenttypes.yml文件中很容易定义,所以如果您不介意等待几个月,那么这显然要简单得多。

票数 1
EN

Stack Overflow用户

发布于 2017-05-31 12:06:43

在3.2.9这个{%id%}原则似乎还不起作用. :(

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27227142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档