2012-07-04 53 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