在Magento控制器使用move_uploaded_file(Using move_upl

2019-07-30 06:28发布

我是新来的Magento和我创建的自定义模块,在Magento管理文件上传。

现在,我有张贴上传文件在我的模块控制器。 在这里,我已经使用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 
    }

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

所以我做错了吗? 或者给我建议,如果使用move_uploaded_file在Magento控制器来处理文件上传正确的方法?

谢谢。

Answer 1:

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

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();
    }
}


文章来源: Using move_uploaded_file in Magento Controller
标签: magento