I am new to magento and i am Creating Custom module for File upload in magento admin.
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.
So what i am doing wrong? or suggest me if using move_uploaded_file in magento controller is correct way to handle file upload ?
Thanks.
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();
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With