Joomla - 如何将按钮上传文件添加到模板参数并上传文件? [英] Joomla - how to add abutton upload file to parameter of template and do upload file?
问题描述
我自定义了一个参数添加按钮上传
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.
- 将表单的 enctype 更改为
enctype="multipart/form-data"
- 如果使用MVC架构,在表单中添加
task
和controller
.
上传文件非常简单,因为 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屋!