bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )
$pathname
should be the server path to the file and not a url
Try
$path = Mage::getBaseDir('media') . DS;
You should try using Varien_File_Uploader
include_once Mage::getBaseDir() . '/lib/Varien/File/Uploader.php'; /* Starting upload */ $uploader = new Varien_File_Uploader('filename'); // Any extention would work $uploader->setAllowedExtensions(array('jpg', 'jpeg', 'gif', 'png')); $uploader->setAllowRenameFiles(false); // Set the file upload mode // false -> get the file directly in the specified folder // true -> get the file in the product like folders // (file.jpg will go in something like /media/f/i/file.jpg) $uploader->setFilesDispersion(false); // We set media as the upload dir $path = Mage::getBaseDir('media') . DS; $uploader->save($path, $_FILES['filename']['name']);
参考:http://magento.stackexchange.com/a/40744
如果想要裁图的话,可以参考下面代码:
include_once Mage::getBaseDir() . '/lib/Varien/File/Uploader.php'; $file = new Varien_Io_File(); $imageDir = Mage::getBaseDir('media') . DS . 'mbimages'; $thumbimageyDir = Mage::getBaseDir('media').DS.'mbimages'.DS.'thumbs'; if(!is_dir($imageDir)) $imageDirResult = $file->mkdir($imageDir, 0777); if(!is_dir($thumbimageyDir)) $thumbimageDirResult = $file->mkdir($thumbimageyDir, 0777); //echo '<pre>'; print_r($_FILES); echo '==>'.$filename; echo '</pre>'; die; if(isset($_FILES[$filename]['name']) && $_FILES[$filename]['name'] != '') { //echo '==>'.$_FILES[$filename]['name']; try { /* Starting upload */ $uploader = new Varien_File_Uploader($filename); // Any extention would work $uploader->setAllowedExtensions(array('jpg','jpeg','gif','png')); $uploader->setAllowRenameFiles(true); // Set the file upload mode // false -> get the file directly in the specified folder // true -> get the file in the product like folders // (file.jpg will go in something like /media/f/i/file.jpg) $uploader->setFilesDispersion(true); // We set media as the upload dir //$path = Mage::getBaseDir('media') . DS ; $path = $imageDir . DS ; $result = $uploader->save($path, $_FILES[$filename]['name']); $file = str_replace(DS, '/', $result['file']); ############################################################################### // actual path of image $imageUrl = Mage::getBaseDir('media').DS."mbimages".$file; // path of the resized image to be saved // here, the resized image is saved in media/resized folder $imageResized = Mage::getBaseDir('media').DS."mbimages".DS."thumbs".DS."mbimages".$file; // resize image only if the image file exists and the resized image file doesn't exist // the image is resized proportionally with the width/height 135px if (!file_exists($imageResized)&&file_exists($imageUrl)) : $imageObj = new Varien_Image($imageUrl); $imageObj->constrainOnly(TRUE); $imageObj->keepAspectRatio(FALSE); $imageObj->keepFrame(FALSE); $imageObj->quality(100); $imageObj->resize(80, 50); $imageObj->save($imageResized); endif; $data[$filename] = 'mbimages'.$file; } catch (Exception $e) { $data[$filename] = 'mbimages'.'/'.$_FILES[$filename]['name']; } }
更多图片处理方法请参考:magento图片处理 Customize Magento’s Image Resize Functionality
原文/转自:Magento : 调用文件上传 upload file frontend
相关推荐
这篇博客“Magento:后台添加预览按钮 View product in frontend from Magento admin”主要探讨了如何通过自定义开发来实现这一功能,让管理员能够快速检查商品在网站前台的显示状态。 在Magento中,通常管理员需要...
### Magento新手指南知识点详解 #### 一、Magento简介与特性 **Magento**是一款功能强大的开源电子商务平台,由Varien公司(后被Adobe收购)于2008年首次发布。它以其灵活性、可扩展性和丰富的功能集而闻名,是...
上载带有扩展名的Dropday/OrderAutomation目录。 打开终端并导航到Magento根目录。 运行以下命令以启用Dropday扩展: php bin/magento module:enable Dropday_OrderAutomation 运行Magento安装程序升级: ...
Magento No Flash Upload插件是专为Magento电子商务平台设计的一个组件,旨在解决原生系统依赖Flash进行文件上传的问题。由于Adobe Flash在安全性、性能和移动设备兼容性方面的限制,越来越多的浏览器开始逐步淘汰对...
Magento:registered:2数据集成借助Datatric Connect扩展程序,可以轻松地将Magento:registered:2商店与Datatrics平台连接起来。安装在开始安装过程之前,我们建议您对webshop文件以及数据库进行备份。 有两种安装...
### Magento权威指南 #### 书籍概述 《Magento权威指南》是由Adam McCombs与Robert Banh共同编著的一本深入探讨Magento电商平台的技术手册。该书由Apress出版社于2009年出版发行,旨在为读者提供一个全面、系统的...
Magento的布局系统是通过XML文件来定义的,这些文件位于`app/design`目录下。布局更新(Layout Updates)描述了页面上各个元素的位置,以及如何从模块的Block类渲染出对应的模板文件。例如,`<block>`标签可以用来...
docker-magento:Mark Shust的Magento Docker配置
要更新版本,改版本号和运行gulp创建Magento的包文件。 执照 麻省理工学院许可证 (MIT) 版权所有 (c) 2014 Gimmieworld pte ltd。 特此授予任何人免费获得本软件副本和相关文档文件(“软件”)的许可,不受限制...
magento:megento电子商务网站
ansible-magento要求: -流浪汉-可以指示: 克隆此仓库无所事事在浏览器中导航到magento.dev。MySQL 数据库:magento 用户名:magento 密码:password123 这是基于的工作而进行的一些更改,以简化启动和运行过程...
校园2021-Magento 提交消息应包括: 任务编号: #2 简短的任务名称: Add Websites: 做了什么:`为新域更新了Docker配置 例子: #2 Add Websites: updated Docker configuration for new domain Git Flow DV。...
VueFrontCMS Connect App for Magento 显示你的 :red_heart: -给我们一个 :star: 帮助我们将这个项目发展到最好! VueFront是CMS不可知的SPA和PWA前端,适用于您的老式Blog和电子商务网站。 Magento通过最佳的电子...
magento结构和原理 magento结构和原理是magento...通过了解magento的文件目录结构、URL路由与分发器、模板调用对应的JS、CSS、图片、重写核心模块等知识点,可以更好地理解magento的工作机理和开发magento模块和主题。
马恩托 magento 项目
在这个主题中,“Create Dynamic CMS Navigation For Magento Frontend”指的是在Magento的前端生成可以根据CMS页面自动生成的动态菜单。 在Magento中,静态菜单通常是通过后台管理界面手动创建和维护的,而动态...
对于文件替换补丁,例如压缩包中的“magento2.4覆盖文件”,你需要逐个将这些文件复制到你的Magento根目录相应的位置,覆盖原有的文件。务必谨慎操作,确保你了解每个文件的作用。 6. **运行命令行工具**:Magento ...
本文件是 Magento 数据库的建库文件,用于快速构建和初始化 Magento 系统所需的完整数据库结构。 SQL 文件是数据库结构和数据的脚本表示,通常包含创建表、索引、视图、触发器和存储过程等数据库对象的指令。在这个...
$ cd /path/to/magento $ modgit init $ modgit add epicomtech_magento https://github.com/epicomtech/magento.git Antes deComeçar Epicom的API协议 通过电子邮件联系API,电子邮件地址: Conhecendo omó...
"magento-master" 文件夹很可能包含了 Magento 2.4.0 的源代码,开发者可以深入研究这些文件,了解其内部结构和工作原理,以便进行二次开发或自定义功能。在实际项目中,开发者通常会按照 Magento 的开发指南进行...