2014-10-08 99 views
1

当我从后端管理面板上传产品图像时,对此问题的任何帮助都表示赞赏,但我收到此错误。PHP在Magento中上传产品图像时出现Foreach错误

Warrning: Invalid argument supplied for foreach() in /Applications/AMPPS/www/magento/app/code/core/Mage/Core/Model/File/Validator/NotProtectedExtension.php on line 91 

做了一些调试后,我明白,

被返回null,因此在foreach错误。

我最近没有上传任何图片,所以我不知道是什么特别的改变触发了这个。

回答

0

检查你有这样的:

<protected_extensions> 
    <!-- PHP script file extension --> 
    <php>php</php> 
    <!-- File extension of configuration of an Apache Web server --> 
    <htaccess>htaccess</htaccess> 
    <!-- Java script file extension --> 
    <jsp>jsp</jsp> 
    <!-- Perl script file extension --> 
    <pl>pl</pl> 
    <!-- Python script file extension --> 
    <py>py</py> 
    <!-- Active Server Page script file extension --> 
    <asp>asp</asp> 
    <!-- UNIX command prompt file extension --> 
    <sh>sh</sh> 
    <!-- Common Gateway Interface script extension type --> 
    <cgi>cgi</cgi> 
    <!-- BOF HTML file extensions --> 
    <htm>htm</htm> 
    <html>html</html> 
    <phtml>phtml</phtml> 
    <shtml>shtml</shtml> 
    <!-- EOF HTML file extensions --> 
</protected_extensions> 
app\code\Core\Magento\Core\etc\config.xml(377-400线在Magento 1.7.0.1)

如果没有,您编辑了一个核心文件,这不是一个好主意。如果它在那里,检查你的db,core_config_table,path ='general/file/protected_extensions'。应该没有什么。
最后,检查其他模块(社区和地方)的config.xml中是否有这个参数设置为默认值,像块:

<config> 
    .... 
    <default> 
     .... 
     <general> 
      <file> 
       <protected_extensions> 
        .... 
       </protected_extensions> 
      </file> 
     </general> 
    </default> 
     .... 
</config> 
+0

感谢OSdave快速回复所有的键,我试过的所有3你的建议,一切都如预期,但仍然相同 – Hiren 2014-10-08 12:17:15

3

在调试浪费了一天之后想通了这个问题错误

我可能已经搞砸与安装脚本,并在core_config_data表插入下面一行

path => 'general', value => NULL 

这导致在配置树“一般”为指向NULL,并因此关键

'general/file/protected_extensions' 

从来没有可降。由于数据库值填充,并从XML文件中获取配置值后加入以后,上述排抹杀开始与路径一般

+0

我也有同样的问题和解决方案,但我的价值是1。不知道它是如何被插入。你能把这个标记为接受的答案吗? – Luke 2016-09-30 13:23:37