10月CMS禁止使用文件类型

时间:2017-11-21 15:03:25

标签: php octobercms octobercms-backend

我试图在10月CMS上将.pptx文件上传到媒体库,我收到错误,因为不允许使用文件类型。我尝试使用Stackoverflow中的以下建议:

'fileDefinitions' => [ 'assetExtensions' => array_merge(FileDefinitions::get('assetExtensions'), ['docx']), ],

但是我收到有关FileDefinitions类不存在的错误消息。我还尝试了另一个建议,即在/config/cms.php中添加一个fileTypes数组,但是这种方法不起作用,因为这种包含文件的方式似乎已经消失了。

十月CMS git repo有一个pull请求,它在源代码中添加了一个文件类型,但我觉得这不是一个好主意,因为不同的用户有不同的需求,每当有人想要一个新的时候系统就必须更新文件类型已添加!无论如何,有没有人知道一种简单的方法,只需添加一个新文件类型的allow文件类型数组?

似乎它应该是一个简单的配置设置,但对于我的生活,我找不到任何工作参考。

3 个答案:

答案 0 :(得分:1)

我猜你添加错误的扩展名 pptx 而不是 ppxt @David Lundquist

<?php

return [

    'fileDefinitions' => [
        'defaultExtensions' => [
            'pptx'
         ]
    ],

    // other config
    ....
];

只需将此行添加到config/cms.php配置中即可。

但是现在确保它现在只允许文件 .pptx ,如果您想要允许更多扩展,您需要手动添加它们。

  

&#39; jpg&#39;,&#39; jpeg&#39;,&#39; bmp&#39;,&#39; png&#39;,&#39; webp&#39;,&# 39; gif&#39;,&#39; svg&#39;,&#39; js&#39;,&#39; map&#39;,&#39; ico&#39;,&#39; css&#39 ;,&#39; less&#39;,&#39; scss&#39;,&#39; ics&#39;,&#39; odt&#39;,&#39; doc&#39;,&#39 ; docx&#39;,&#39; pdf&#39;,&#39; swf&#39;,&#39; txt&#39;,&#39; xml&#39;,&#39; ods&#39; ,&#39; xls&#39;,&#39; xlsx&#39;,&#39; eot&#39;,&#39; woff&#39;,&#39; woff2&#39;,&#39; ttf&#39;,&#39; flv&#39;,&#39; wmv&#39;,&#39; mp3&#39;,&#39; ogg&#39;,&#39; wav&#39;, &#39; avi&#39;&#39; mov&#39;,&#39; mp4&#39;,&#39; mpeg&#39;,&#39; webm&#39;,&#39; mkv& #39;,&#39; rar&#39;,&#39; zip&#39;

这是默认列表,所以只需复制此列表并在此处添加您自己的额外扩展名。

在你的情况下, pptx ..它会起作用。

我已检查过代码库,没有其他简单的方法来扩展它。 {可能很难,需要额外的插件和挂钩等。}

  

不要尝试使用array_merge解决方案,因为FileDefinitions代码将递归调用以再次获取cms config它将执行array_merge ... (超出主题但它不起作用所以不要尝试)

最好使用这个,这不会影响更新。

  每当有人想要添加新文件类型时,

就会更新!

不要担心他们只提供配置文件:)

尝试一下,如果它不起作用请发表评论。

答案 1 :(得分:0)

如果要将特定文件扩展名上传到媒体库,则需要转到cms config

cms.php并添加

        'fileDefinitions' => [
                'defaultExtensions' => [
                    'ppxt',...10billion more extensions in a list here]
                 ]

enter image description here

答案 2 :(得分:0)

在Cyber​​Panel上,我通过以下步骤对其进行了修复:

  1. 添加并确保我使用的PHP版本与我的网站的版本相同,即7.3
  2. 将file_uploads设置为“ ON”(最重要)(这是一切正常开始的地方)
  3. 添加upload_tmp_dir目录可能有效,但对我来说,仅打开file_uploads可以有效
  4. 已将/ tmp目录添加到OpenLiteSpeed>服务器配置>文件上传