在Magento Controller中使用move_uploaded_file [英] Using move_uploaded_file in Magento Controller
问题描述
我是magento的新手,我正在magento admin中创建用于文件上传的自定义模块.
I am new to magento and i am Creating Custom module for File upload in magento admin.
现在我已经将上传文件发布到了我的模块控制器中.
在这里,我已经使用move_uploaded_file
将文件上传到与控制器文件夹相同的目录中.
我在控制器中用于文件上传的以下代码
Right now i have post the upload file in my module controller.
Here i have used move_uploaded_file
to upload file in same directory with in controller folder.
below code i have used for file upload in controller
$file_name=$_FILES["file"]["name"];
$file_path="import/$file_name";
if(move_uploaded_file($_FILES["file"]["tmp_name"],$file_path))
{
// my files not uploading
}
我无法上载目录文件夹中的文件.
I can't able to upload the file in directory folder.
所以我做错了什么?还是建议我,如果在magento控制器中使用move_uploaded_file
是处理文件上传的正确方法?
So what i am doing wrong? or suggest me if using move_uploaded_file
in magento controller is correct way to handle file upload ?
谢谢.
推荐答案
要在Magento中上传文件,可以使用Varien_File_Uploader :: save()方法如下:
In order to upload file in Magento, you can use Varien_File_Uploader::save() method as:
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();
}
}
这篇关于在Magento Controller中使用move_uploaded_file的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!