自定义 Joomla 组件的文件上传表单

标签 file file-upload joomla joomla2.5

我的表单中有一个字段,它是文件类型。当用户点击保存图标时,我想自然地将文件上传到服务器并将文件名保存在数据库中。我尝试通过回显文件名来测试它,但它似乎不起作用。另外,如何将文件名添加到数据库中?是在模型中完成的吗?谢谢!

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 数组然后包含以下键:
  • 错误
  • 姓名
  • 尺码
  • tmp_name
  • 类型

  • 我已经删除了我的原始答案,因为它具有误导性。

    关于自定义 Joomla 组件的文件上传表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15653414/

    相关文章:

    c++ - 用 fstream 在最后一行写

    使用 fgetc/getc 后无法写入文件 (Windows)

    php - Laravel 4 - 文件上传

    database - 让joomla使用innoDB并支持事务

    html - 通过表单将 Textarea 中的 HTML 代码发送到 PHP

    file - 在一个 jsp 页面中,单击按钮时,在 Bootstrap 中将第二个 jsp 页面加载为模态

    android - 在外部 SD 卡中创建文件

    php - Fine Uploader 无法上传文件

    go - 在fasthttp中上传尺寸大于DefaultMaxRequestBodySize的文件

    joomla - Joomla 上与 SEF 的手动链接!