Joomla - 如何将按钮上传文件添加到模板参数并上传文件? [英] Joomla - how to add abutton upload file to parameter of template and do upload file?

查看:15
本文介绍了Joomla - 如何将按钮上传文件添加到模板参数并上传文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我自定义了一个参数添加按钮上传

i custom a parameter to add a button upload <input type="file" name="file">

但是我们在com_template的时候怎么上传

But how to upload when we are in com_template

推荐答案

您需要调整几件事情才能使上传工作正常进行.

There are couple of things you need to tweak to make the upload work.

  1. 将表单的 enctype 更改为 enctype="multipart/form-data"
  2. 如果使用MVC架构,在表单中添加taskcontroller.

上传文件非常简单,因为 Joomla 有 filesystem 包.上传文件所需的只是调用 JFile::upload($src, $dest).

Uploading of file is pretty easy, because Joomla has filesystem package in place. All you need to upload the file is to call JFile::upload($src, $dest).

阅读文件系统包,你会发现很多有用的东西.这是链接 http://docs.joomla.org/How_to_use_the_filesystem_package

Read about filesystem package, you will find a lot of useful stuff. Here is the link http://docs.joomla.org/How_to_use_the_filesystem_package

这是上传代码的样子(来自 Joomla 文档)

Here is what uploading code looks like (from Joomla documentation)

/**
 * Uploading function for Joomla
 * @param int $max maximum allowed site of file
 * @param string $module_dir path to where to upload file
 * @param string $file_type allowed file type
 * @return string response message
 */    
function fileUpload($max, $module_dir, $file_type){
        //Retrieve file details from uploaded file, sent from upload form
        $file = JRequest::getVar('file_upload', null, 'files', 'array'); 
        // Retorna: Array ( [name] => mod_simpleupload_1.2.1.zip [type] => application/zip 
        // [tmp_name] => /tmp/phpo3VG9F [error] => 0 [size] => 4463 ) 

        if(isset($file)){ 
                //Clean up filename to get rid of strange characters like spaces etc
                $filename = JFile::makeSafe($file['name']);

                if($file['size'] > $max) $msg = JText::_('ONLY_FILES_UNDER').' '.$max;
                //Set up the source and destination of the file

                $src = $file['tmp_name'];
                $dest = $module_dir . DS . $filename;

                //First check if the file has the right extension, we need jpg only
                if ($file['type'] == $file_type || $file_type == '*') { 
                   if ( JFile::upload($src, $dest) ) {

                       //Redirect to a page of your choice
                        $msg = JText::_('FILE_SAVE_AS').' '.$dest;
                   } else {
                          //Redirect and throw an error message
                        $msg = JText::_('ERROR_IN_UPLOAD');
                   }
                } else {
                   //Redirect and notify user file is not right extension
                        $msg = JText::_('FILE_TYPE_INVALID');
                }

        }
        return $msg;
}

这篇关于Joomla - 如何将按钮上传文件添加到模板参数并上传文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆