我有一个自定义模块,我试图上传图像。但是我无法上传图片
这是我的表单文件
<?php
<form id="imageform" method="post" action="<?php echo $this->getFormAction(); ?>">
<input type="file" id="chain_Image" value="" name="Image[]" class="input-text">
</form>
请注意,这只是我代码的一小部分。实际上这个表格可以包含任意数量的图像也就是说,我们可以一次上传多张图片。
这是我的saveAction():
<?php
$arr = $this->getRequest()->getPost('Image');
foreach($arr as $image)
{
if(isset($_FILES[$image]['name']) and (file_exists($_FILES[$image]['tmp_name'])))
{
try
{
$path = Mage::getBaseDir('media') . DS . 'banner' . DS;
$uploader = new Varien_File_Uploader($image);
$uploader->setAllowedExtensions(array('jpg','png','gif','jpeg'));
$uploader->setAllowRenameFiles(false);
$uploader->setFilesDispersion(false);
$destFile = $path.$_FILES[$image]['name'];
filename = $uploader->getNewFileName($destFile);
$uploader->save($path, $filename);
$postData['Image'] = $_FILES[$image]['name'];
}
catch(Exception $e)
{}
}
else
{
if(isset($postData[$image]['delete']) && $postData[$image]['delete'] == 1)
$postData[$image] = '';
else
unset($postData[$image]);
}
}
$bannerModel->addData($postData)->setId($this
->getRequest()->getParam('id'))->save();
然而,它不会上传我的图像。当我打印出来时,$ _FILES似乎是空的。我的代码中有什么问题。帮我。在此先感谢!!!
答案 0 :(得分:0)
我希望保存功能出错。这是我用其他详细信息保存图像的示例代码。让我们看看这对你有所帮助。
$newsModel->setId($this->getRequest()->getParam('id'))
->setTitle($postData['title'])
->setImage($_FILES['image']['name'])
->setContent($postData['content'])
->setStatus($postData['status'])
->save();
您必须通过调用setImage($_FILES['image']['name'])
来保存图片。试试这个..
答案 1 :(得分:0)
请务必将 enctype =“multipart / form-data”放在表单参数中:
<form id="imageform" method="post" action="<?php echo $this->getFormAction(); ?>" enctype="multipart/form-data">
<input type="file" id="chain_Image" value="" name="Image[]" class="input-text">
</form>