我是Joomla的新人! 我正在创建自定义joomla(3.4.1)组件,我正在取得良好进展。我使用了几乎所有字段中的一个表单来添加/编辑除了文件上传之外的所有工作。
实际上它可以节省我桌子的价值,但我真的不知道如何/在哪里写Joomla!上传文件的代码。
我引用此链接https://docs.joomla.org/Creating_a_file_uploader_in_your_component但我根本不需要任何上传器,只想手动上传,也找到type =“media”字段,但似乎只允许上传图片。
现在,为了将文件上传到仅限管理员限制的特定文件夹,我应该采取下一步措施。
我知道控制器中的一个方法可以覆盖保存方法并开始上传。
但是有没有正确的方法呢?
谢谢。
答案 0 :(得分:2)
那么,
我已经通过这种方式想出了这件事!
我的控制器文件是我编写的代码,如果能得到最好的方法,我会回来的。
<?php
defined('_JEXEC') or die('Restricted access');
jimport('joomla.filesystem.file');
class HelloWorldControllerHelloWorld extends JControllerForm{
public function save($data = array(), $key = 'id')
{
$jinput = JFactory::getApplication()->input;
$files = $jinput->files->get('jform');
$fileinfo =pathinfo($files['file_name']['name']);
$ext = $fileinfo['extension'];
$filename = time().".$ext";
$tmp_file = $files['file_name']['tmp_name'];
$dest = "media/".JText::_('COM_APISLIDE')."/upload/".$filename;
if (JFile::upload($tmp_file, $dest)) {
// successed :)
} else {
// failed :(
}
parent::save();
}
}