2012-07-04 22 views
2

我是magento的新手,我正在为magento管理员创建用于文件上传的自定义模块。在Magento Controller中使用move_uploaded_file

现在我已经在我的模块控制器中发布了上传文件。 在这里,我已经使用move_uploaded_file上传与控制器文件夹在同一目录中的文件。 下面的代码,我在控制器

$file_name=$_FILES["file"]["name"]; 
    $file_path="import/$file_name"; 

    if(move_uploaded_file($_FILES["file"]["tmp_name"],$file_path)) 
    { 
     // my files not uploading 
    } 

用于文件上传我能不能上传目录文件夹中的文件。

所以我做错了什么?或者建议我在magento控制器中使用move_uploaded_file是否正确处理文件上传?

谢谢。

回答

4

为了上传文件在Magento,你可以使用Varien_File_Uploader :: save()方法为:

if(isset($_FILES['file']['name']) && $_FILES['file']['name'] != '') { 
    try { 
     $fileName  = $_FILES['file']['name']; 
     $fileExt  = strtolower(substr(strrchr($fileName, "."), 1)); 
     $fileNamewoe = rtrim($fileName, $fileExt); 
     $fileName  = str_replace(' ', '', $fileNamewoe) . '.' . $fileExt; 

     $uploader  = new Varien_File_Uploader('file'); 
     $uploader->setAllowedExtensions(array('png', 'jpg')); //allowed extensions 
     $uploader->setAllowRenameFiles(false); 
     $uploader->setFilesDispersion(false); 
     $path = Mage::getBaseDir('media') . DS . 'yourModuleFolder'; 
     if(!is_dir($path)){ 
      mkdir($path, 0777, true); 
     } 
     $uploader->save($path . DS, $fileName); 
    } catch (Exception $e) { 
     echo $e->getMessage(); 
    } 
} 
+0

喜十分感谢。 –

+0

很高兴帮助你Prakash。干杯! – MagePsycho