一个热爱网络的小学教师

【已解决】升级了WordPress,不能上传swf文件了

最近用Wordpress搭建了一个小站,主要分享一些教学文档,但领导希望这些文档只能在线浏览,不能下载,测试了多种方案之后,最终我选择了将doc转成swf的方式,这样既可以保留文档原貌,又能达到防下载的目的。

在本地测试的时候用了一个比较老的主题,只能支持Wordpress 3.X(具体是几没注意),后来放到网上之后我升级了一下Wordpress,升到了4.2.2最新版,结果升级之后发现问题了:swf文件无法上传,提示:“抱歉,出于安全的考虑,不支持此文件类型”。试了很多次,发现doc之类的文件都没问题,就是无法上传swf文件。

我上网查了一下这个问题,发现“抱歉,出于安全的考虑,不支持此文件类型”的问题早已有之,只需要添加相应的文件类型即可,但是我找到源码之后发现swf早已添加过了,看来还有别处限制了swf文件的上传。

后来漫无目的地看源码,我不太懂PHP,只能连猜带蒙,不过终于发现有一处源码很可疑:wp-includes文件夹下的functions.php中,第2290行(Wordpress4.2.2版本)有这么一句:

unset( $t['swf'], $t['exe'] );

结合上下文内容,我猜这里是过滤swf和exe文件上传的,于是将代码改为:

unset($t['exe'] );

保存后覆盖源文件,重新测试上传swf文件,发现已经可以正常上传,问题解决。

未经允许不得转载:高海鹏老师的博客 » 【已解决】升级了WordPress,不能上传swf文件了

分享到:更多 ()

评论 1

Protected by WP Anti Spam

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    很好,解决了我的问题,多谢了 😛

    edward1年前 (2015-08-23)回复
点击这里给我发消息