【发布时间】:2015-04-24 01:43:25
【问题描述】:
所以这是我的问题。在我们 Magento 站点的管理部分,我们需要能够上传文件,每个文件可以是 2-500 MB 的任何地方。我已经适当地设置了我的 php.ini 设置,并且一切都很好地满足了这个要求。但现在我被要求允许客人从前端上传文件。显然,我不想让完全陌生的人能够上传 500 MB 的文件。我已经四处搜索,但无法找到一个体面的直截了当的答案来解决这个问题。
那么,您如何让您的管理员继续上传超大文件,同时将前端用户限制为较小的文件?
这是我目前的解决方案:
public function saveAction()
{
$post = $this->getRequest()->getPost();
$helper = Mage::helper('my_module');
if ( $post ) {
try {
if ($_FILES['size'] >= 2000000) { // Limit is set to 2 MB
$errors[] = $helper->__('You have exceeded the max file size.');
$error = true;
}
if ($error) {
throw new Exception();
}
// Perform save operations here.
} catch (Exception $e) {
foreach($errors as $error) {
Mage::getSingleton('core/session')->addError($error);
}
$this->_redirect('*/*/*');
return;
}
}
}
这会检查文件是否超出限制。如果是,则抛出异常。
我意识到这个解决方案很简单,这就是为什么我四处询问是否有人有更好/替代的解决方案。我期待着阅读您的答案。
【问题讨论】:
标签: php magento file-upload filesize