我是新来的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控制器来处理文件上传正确的方法?
谢谢。
为了上传文件在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();
}
}