Jak zapisać nazwę przesłanego pliku w bazie danych
Cont. -Dodaj program do przesyłania plików do składnika Joomla Admin
Mogłem przesłać plik i zapisać go na dysku. Ale nie zapisuje nazwy pliku w bazie danych.
Jak mogę to zrobić ?
Oto kontroler -
class InvoiceManagerControllerInvoiceManager extends JControllerForm
{
function save(){
$file = JRequest::getVar('jform', null, 'files', 'array');
$path = JPATH_BASE;
// Make the file name safe.
jimport('joomla.filesystem.file');
$file['name']['invoice'] = JFile::makeSafe($file['name']['invoice']);
// Move the uploaded file into a permanent location.
if (isset($file['name']['invoice'])) {
// Make sure that the full file path is safe.
$filepath = JPath::clean($path. DS ."components". DS ."com_invoicemanager". DS ."files". DS .strtolower($file['name']['invoice']));
// Move the uploaded file.
JFile::upload( $file['tmp_name']['invoice'], $filepath );
}
return parent::save();
}
}
Pole formularza w XML -
<field name="invoice" type="file"/>
AKTUALIZACJA: działa po dodaniu następujących linii pobranych z kodu @Andras Gera
$data = JRequest::getVar( 'jform', null, 'post', 'array' );
$data['invoice'] = strtolower( $file['name']['invoice'] );
JRequest::setVar('jform', $data );