我的表单中有一个字段,它是文件类型。当用户点击保存图标时,我想自然地将文件上传到服务器并将文件名保存在数据库中。我尝试通过回显文件名来测试它,但它似乎不起作用。另外,如何将文件名添加到数据库中?是在模型中完成的吗?谢谢!
Controller /customcom.php
jimport('joomla.filesystem.file');
class CustomComControllerCustomCom extends JControllerForm
{
function save()
{
$file = JRequest::getVar('img_url', null, 'files', 'array');
$filename = JFile::makeSafe($file['name']);
echo $filename;
}
}
模型/表单/customcom.xml
<?xml version="1.0" encoding="utf-8"?>
<form enctype="multipart/form-data">
<fieldset>
<field
name="img_url"
type="file"
label="Image upload"
description=""
size="40"
class="inputbox"
default=""
/>
</fieldset>
</form>
最佳答案
刚刚想通了。
正确的方法是
$jinput = JFactory::getApplication()->input;
$files = $jinput->files->get('jform');
$file = $files['img_url'];
这应该够了吧。
$file 数组然后包含以下键:
我已经删除了我的原始答案,因为它具有误导性。
关于自定义 Joomla 组件的文件上传表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15653414/