Подскажите, пожалуйста, как реализовать в компоненте загрузку файла на сервер? То есть как реализовать в рамках Joomla следующий код: Код (PHP): <HTML> <HEAD> <TITLE>HTML Form</TITLE> </HEAD> <BODY> <?PHP if ($_FILES['my_file']){ print("File name: ".$_FILES['my_file']['name']."<P>\n"); print("File size: ".$_FILES['my_file']['size']."<P>\n"); if (copy($_FILES['my_file']['tmp_name'], "users/".$_FILES['my_file']['name'])){ print("Ваш файл успешно сохранен<P>\n");} else{print("Ваш файл не сохранен<P>\n");} } print("Загрузка файла на сервер:\n"); print("<FORM ACTION=\"FileUpload2.php\" \" METHOD=\"POST\" ENCTYPE=\"multipart/form-data\">\n"); print("File <INPUT TYPE=\"FILE\" NAME=\"my_file\" <BR>\n"); print("<INPUT TYPE=\"SUBMIT\" NAME=\"SUBMIT\" VALUE=\"Submit\">"); print ("</FORM>\n"); ?> </BODY> </HTML>
Рекомендую Вам пользоваться поиском по форуму, а также ставить отметки в названии темы - какая версия джумлы Вас интересует. Касательно загрузки файлов - обсуждалось в этой теме. Также там есть примеры.
Когда делал свой компонент, реализовавыл таким образом в контролеере были 2 функции Код (PHP): private function translitIt($str) { $tr = array( "А"=>"A","Б"=>"B","В"=>"V","Г"=>"G", "Д"=>"D","Е"=>"E","Ж"=>"J","З"=>"Z","И"=>"I", "Й"=>"Y","К"=>"K","Л"=>"L","М"=>"M","Н"=>"N", "О"=>"O","П"=>"P","Р"=>"R","С"=>"S","Т"=>"T", "У"=>"U","Ф"=>"F","Х"=>"H","Ц"=>"TS","Ч"=>"CH", "Ш"=>"SH","Щ"=>"SCH","Ъ"=>"","Ы"=>"YI","Ь"=>"", "Э"=>"E","Ю"=>"YU","Я"=>"YA","а"=>"a","б"=>"b", "в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j", "з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l", "м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r", "с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h", "ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y", "ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya" ); return strtr($str,$tr); } function load_file() { $files = JRequest::getVar( "fotof", 0, "FILES"); $uploaddir = '../images/foto/'; $uploadfile = $uploaddir.basename($this->translitIt($files['name'])); // Копируем файл из каталога для временного хранения файлов: if ($files['name'] != "") { if (copy($files['tmp_name'], $uploadfile)) { chmod($uploadfile, 0644); } else { return "Ошибка загрузки"; } } } ну и где нужно размещал форму Код (PHP): <form action="index.php" method="post" name="adminForm" id="adminForm" enctype="multipart/form-data"> <input type="file" name="fotof" id="fotof"> </form>
Спасибо всем! omfgpanda, я пользовался поиском, только ту тему проигнорировал из-за названия, постораюсь в будущем быть внимательней. Блин, нашел ошибку из-за которой все не работало, а я думал, что не так что-то делаю, короче пропустил кавычки в описании формы здесь enctype="multipart/form-data". И все соответственно накрывалось.