Добрый день дамы и господа есть вот такая формочка PHP: <?php /** * @package Joomla.Administrator * @subpackage com_tickets * * @copyright Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ // No direct access to this file defined('_JEXEC') or die; JHtml::_('behavior.tabstate'); JHtml::_('behavior.keepalive'); JHtml::_('behavior.calendar'); JHtml::_('behavior.formvalidation'); JHtml::_('formbehavior.chosen', 'select'); //JHtml::_('behavior.modal', 'a.modal_jform_contenthistory'); ?> <script type="text/javascript"> Joomla.submitbutton = function(task) { if (task == 'item.cancel' || document.formvalidator.isValid(document.id('adminForm'))) { <?php //echo $this->form->getField('fulltext')->save(); ?> Joomla.submitform(task); } else { alert('<?php echo $this->escape(JText::_('JGLOBAL_VALIDATION_FORM_FAILED'));?>'); } } </script> <div class="edit item-page<?php echo $this->pageclass_sfx; ?>"> <form action="<?php echo JRoute::_('index.php?option=com_tickets&a_id='.(int) $this->item->id); ?>" method="post" name="adminForm" id="adminForm" class="form-validate" > <fieldset> <legend><?php echo JText::_('Создать тикет'); ?></legend> <?php echo $this->form->getInput('id'); ?> <div class="formelm" style="display:none;"> <?php echo $this->form->getInput('catid'); ?> </div> <div class="formelm"> <?php echo $this->form->getLabel('title'); ?> <?php echo $this->form->getInput('title'); ?> </div> <div class="formelm"> <?php echo $this->form->getLabel('introtext'); ?> <?php echo $this->form->getInput('introtext'); ?> </div> </fieldset> <div class="formelm-buttons"> <button type="button" onclick="Joomla.submitbutton('item.save')" class="btn btn-primary"> <?php echo JText::_('JSAVE') ?> </button> <button type="button" onclick="Joomla.submitbutton('item.cancel')" class="btn btn-primary"> <?php echo JText::_('JCANCEL') ?> </button> </div> <fieldset> <input type="hidden" name="task" value="" /> <input type="hidden" name="return" value="<?php echo $this->return_page;?>" /> <?php echo JHtml::_( 'form.token' ); ?> </fieldset> </form> </div> данные передаются в БД надо прикрутить поле для загрузки файлов делаю так добавляю к form enctype="multipart/form-data" и добавляю само поле PHP: <div class="formelm"> <label>Прикрепить файлы (Выберите несколько):</label> <input type="file" name="files" multiple="multiple" /> </div> поле появляется и при клике дает выбирать файлы, но не могу понять как передать их в базу да еще и в base64 кто знает подскажите
это кстати и так понятно не могу понять где файл обработчик, что бы прописать туда передачу PHP: <form action="<?php echo JRoute::_('index.php?option=com_tickets&a_id='.(int) $this->item->id); ?>" как понять что за файл
как вариант вынести загрузку файлов второй формой со своим обработчиком и передавать в него айди из первой, но это получается не комильфо. человеку надо нажимать две кнопки- отправку файлов и отправку заявки плюс скорее всего при отправки файлов страница перезагрузится, а вещать аякс не очень хочется
я близок уже к решению свое задачи нашел скрипт аякс загрузки документов в папку вот код обработчика PHP: <?php // A list of permitted file extensions $allowed = array('png', 'jpg', 'gif','zip' , 'doc' , 'docx' , 'xls' , 'xlsx' , 'pdf'); if(isset($_FILES['upl']) && $_FILES['upl']['error'] == 0){ $extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION); if(!in_array(strtolower($extension), $allowed)){ echo '{"status":"error"}'; exit; } if(move_uploaded_file($_FILES['upl']['tmp_name'], 'uploads/'.$_FILES['upl']['name'])){ echo '{"status":"success"}'; exit; } } echo '{"status":"error"}'; exit; тут все ясно что он грузит файлики в папку и работает замечательно а как сделать что бы он грузил в бд таблица есть #_ticket_files в ней поля id - text file - blob