图像未保存到定义的文件夹中

时间:2013-12-28 11:05:00

标签: magento magento-1.7

我现在对这个小错误感到不安。我有一个用于上传图像的模块。现在这是我保存文件的代码。它在控制器的saveAction()方法中定义。

 <?php
 /*rest part*/
 $postData = $this->getRequest()->getPost();
 if(isset($_FILES['banner_img_1']['name']) and (file_exists($_FILES['banner_img_1']['tmp_name']))) 
 {
     try 
     {
     $uploader = new Varien_File_Uploader('banner_img_1');           $uploader->setAllowedExtensions(array('jpg','jpeg','gif','png')); 

     $uploader->setAllowRenameFiles(false);
     $uploader->setFilesDispersion(false);
     $path = Mage::getBaseDir('media') . DS . 'banner' . DS ;
     $uploader->save($path, $_FILES['banner_img_1']['name']);
     $postData['banner_img_1'] = $_FILES['banner_img_1']['name'];
     }
     catch(Exception $e) 
     {

     }
 }
 else 
 {       
     if(isset($postData['banner_img_1']['delete']) && 
        $postData['banner_img_1']['delete'] == 1)
            $postData['image_main'] = '';
     else
            unset($postData['banner_img_1']);
 }

但是,这不是将我的图像存储在媒体/横幅文件夹中。当我使用路径

 <?php
     $path = Mage::getBaseDir('media') . DS ;

它将图像保存在媒体文件夹中。我不知道它为什么会这样发生的原因。当我打印$ path变量时,它当前指向media / banner文件夹。我的代码中有什么错误?请帮我解决这个小错误。提前谢谢..

1 个答案:

答案 0 :(得分:0)

在try block {}

中试用此代码
$path = Mage::getBaseDir('media') . DS . 'banner' . DS .'banner'.DS;
$uploader = new Varien_File_Uploader('banner_img_1');
$uploader->setAllowedExtensions(array('jpg','png','gif'));
$uploader->setAllowRenameFiles(false);
$uploader->setFilesDispersion(false);
$destFile = $path.$_FILES['banner_img_1']['name'];
$filename = $uploader->getNewFileName($destFile);
$uploader->save($path, $filename);
$post_data['banner_img_1']='banner/banner/'.$filename;