File 自定义Joomla组件的文件上载表单
我的表单中有一个文件类型的字段。当用户单击save图标时,我想自然地将文件上传到服务器并将文件名保存在数据库中。我尝试通过回显文件名来测试这一点,但它似乎不起作用。另外,如何将文件名添加到数据库中?它是在模型中完成的吗?谢谢 controllers/customcom.phpFile 自定义Joomla组件的文件上载表单,file,file-upload,joomla,joomla2.5,File,File Upload,Joomla,Joomla2.5,我的表单中有一个文件类型的字段。当用户单击save图标时,我想自然地将文件上传到服务器并将文件名保存在数据库中。我尝试通过回显文件名来测试这一点,但它似乎不起作用。另外,如何将文件名添加到数据库中?它是在模型中完成的吗?谢谢 controllers/customcom.php jimport('joomla.filesystem.file'); class CustomComControllerCustomCom extends JControllerForm {
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;
}
}
models/forms/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>
从Media manager获得灵感:
$jinput = JFactory::getApplication()->input;
$files = $jinput->files->get('jform');
$file = $files['img_url'];
这应该能奏效。
$file数组然后保存以下键:
- 错误
- 名字
- 大小
- tmp_名称
- 类型
$jinput = JFactory::getApplication()->input;
$files = $jinput->files->get('jform');
$file = $files['img_url'];