Пишу свой компонент и потребовалось сделать, чтобы пользователь из админки мог загружать архивы на сайт. Подскажите, пожалуйста, как это можно реализовать.
Спасибо, просто я думал, может в Joomla уже есть какой-нибудь класс для работы загрузками, чтобы велосипед не изобретать. Ну ручками - значит ручками
Возникли небольшие проблемы, чтобы "вписать" эту загрузку в MVC архитектуру в шаблоне пишу Код (CODE): <input type="file" name="position" id="position" > потом в контроллере вызывается задача сохранить Код (CODE): function save() { $model = $this->getModel('positions'); if ($model->store($post)) { $msg = JText::_( 'Saved!' ); } else { $msg = JText::_( 'Error Saving' ); } $link = 'index.php?option=com_positions'; $this->setRedirect($link, $msg); } после уже в моделе загружаю файл Код (CODE): function store() { .... if($_FILES["position"]["size"] < 1024*1024*3) { if (file_exists(JPATH_SITE.DS.'images'.DS.'stories'.DS.'p&r'.DS.$_FILES["position"]["name"])) unlink(JPATH_SITE.DS.'images'.DS.'stories'.DS.'p&r'.DS.$_FILES["position"]["name"]); move_uploaded_file($_FILES["position"]["name"], JPATH_SITE.DS.'images'.DS.'stories'.DS.'p&r'.DS.$_FILES["position"]["name"]); } else { $this->setError(JText::_( 'File size too big!' )); return false; } return true; } файл не сохраняется, в чём проблема?
Код (CODE): <form action="index.php" method="post" name="adminForm" id="adminForm" enctype="multipart/form-data"> ... </form>
Всем спасибо за ответы, разобрался. В строчке move_uploaded_file($_FILES["position"]["name"], JPATH_SITE.DS.'images'.DS.'stories'.DS.'p&r'.DS.$_FILES["position"]["name"]); вместо $_FILES["position"]["name"] нужно $_FILES["position"]["temp_name"] вставить, т.к. в первом случае передаётся только имя файла с расширением, а во втором - полный путь до него. Это для тех, кто с таким, возможно, столкнётся