我正在使用codeigniter并创建了一个模型类,用于处理与文件相关的文件的文件上传,操作和CRUD。一切都按预期工作但是我遇到了一个强迫性问题,我觉得从模型类中调用$ _FILES超全局是不对的。我曾想过在控制器中创建一个变量并将$ _FILES的内容分配给它,然后将其传递给模型进行处理,但这似乎是一个浪费的步骤。
我正在考虑的另一个场景是为我创建的上传功能创建一个单独的库,但我不确定这是否也有意义。我觉得我应该从$ _FILES数组中获取值并将它们发送到某个地方进行处理......我是否在考虑这个问题?在过去的案例中你是如何处理这种情况的?
答案 0 :(得分:0)
您必须从控制器调用$ _Files。我认为你是从模型中调用它,所以它在那里工作不正常,因为上传数据进入控制器后。
你想要在控制器中取值变量的第二个想法,然后将其传递给模型,这样它肯定会工作,但必须正确定义变量,就像它应该是多维数组一样。
首先是print_r($ _ Files),然后检查控制器中的值。
我希望它对你有用。
答案 1 :(得分:0)
我扩展了文件助手并添加了一个分析$ _FILES数组的函数,并返回所需信息的数组。然后我可以从我的控制器调用此函数并将其值传递给正在执行自定义业务逻辑的模型。这允许模型保持抽象,这简化了模型的单元测试。