как реализовать загрузку файла на сервер?

Тема в разделе "Программирование", создана пользователем Kacer, 10.03.2010.

  1. Kacer
    Offline

    Kacer Недавно здесь

    Регистрация:
    28.02.2010
    Сообщения:
    16
    Симпатии:
    0
    Пол:
    Мужской
    Подскажите, пожалуйста, как реализовать в компоненте загрузку файла на сервер?
    То есть как реализовать в рамках Joomla следующий код:
    Код (PHP):
    1. <HTML>
    2. <HEAD>
    3. <TITLE>HTML Form</TITLE>
    4. </HEAD>
    5. <BODY>
    6. <?PHP
    7. if ($_FILES['my_file']){
    8. print("File name: ".$_FILES['my_file']['name']."<P>\n");
    9. print("File size: ".$_FILES['my_file']['size']."<P>\n");
    10. if (copy($_FILES['my_file']['tmp_name'], "users/".$_FILES['my_file']['name'])){
    11. print("Ваш файл успешно сохранен<P>\n");}
    12. else{print("Ваш файл не сохранен<P>\n");}
    13. }
    14. print("Загрузка файла на сервер:\n");
    15. print("<FORM ACTION=\"FileUpload2.php\" \" METHOD=\"POST\" ENCTYPE=\"multipart/form-data\">\n");
    16. print("File <INPUT TYPE=\"FILE\" NAME=\"my_file\" <BR>\n");
    17. print("<INPUT TYPE=\"SUBMIT\" NAME=\"SUBMIT\" VALUE=\"Submit\">");
    18. print ("</FORM>\n");
    19. ?>
    20. </BODY>
    21. </HTML>
     
  2.  
  3. omfgpanda
    Offline

    omfgpanda Недавно здесь => Cпециалист <=

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    Рекомендую Вам пользоваться поиском по форуму, а также ставить отметки в названии темы - какая версия джумлы Вас интересует. Касательно загрузки файлов - обсуждалось в этой теме. Также там есть примеры.
     
    Последнее редактирование модератором: 31.03.2014
  4. Offline

    deadheart Недавно здесь

    Регистрация:
    07.09.2009
    Сообщения:
    69
    Симпатии:
    0
    Пол:
    Мужской
    Когда делал свой компонент, реализовавыл таким образом в контролеере были 2 функции
    Код (PHP):
    1. private function translitIt($str)
    2.     {
    3.         $tr = array(
    4.                 "А"=>"A","Б"=>"B","В"=>"V","Г"=>"G",
    5.                 "Д"=>"D","Е"=>"E","Ж"=>"J","З"=>"Z","И"=>"I",
    6.                 "Й"=>"Y","К"=>"K","Л"=>"L","М"=>"M","Н"=>"N",
    7.                 "О"=>"O","П"=>"P","Р"=>"R","С"=>"S","Т"=>"T",
    8.                 "У"=>"U","Ф"=>"F","Х"=>"H","Ц"=>"TS","Ч"=>"CH",
    9.                 "Ш"=>"SH","Щ"=>"SCH","Ъ"=>"","Ы"=>"YI","Ь"=>"",
    10.                 "Э"=>"E","Ю"=>"YU","Я"=>"YA","а"=>"a","б"=>"b",
    11.                 "в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j",
    12.                 "з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l",
    13.                 "м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
    14.                 "с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h",
    15.                 "ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y",
    16.                 "ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya"
    17.          );
    18.         return strtr($str,$tr);
    19.     }
    20.  
    21.     function load_file()
    22.     {
    23.         $files = JRequest::getVar( "fotof", 0, "FILES");
    24.         $uploaddir = '../images/foto/';
    25.         $uploadfile = $uploaddir.basename($this->translitIt($files['name']));
    26.         // Копируем файл из каталога для временного хранения файлов:
    27.         if ($files['name'] != "")
    28.         {
    29.  
    30.                 if (copy($files['tmp_name'], $uploadfile))
    31.                 {
    32.                                       chmod($uploadfile, 0644);
    33.                 }
    34.                 else { return "Ошибка загрузки"; }
    35.         }
    36.     }


    ну и где нужно размещал форму
    Код (PHP):
    1. <form action="index.php" method="post" name="adminForm" id="adminForm" enctype="multipart/form-data">
    2.      <input type="file" name="fotof" id="fotof">
    3. </form>
     
  5. Kacer
    Offline

    Kacer Недавно здесь

    Регистрация:
    28.02.2010
    Сообщения:
    16
    Симпатии:
    0
    Пол:
    Мужской
    Спасибо всем! omfgpanda, я пользовался поиском, только ту тему проигнорировал из-за названия, постораюсь в будущем быть внимательней. Блин, нашел ошибку из-за которой все не работало, а я думал, что не так что-то делаю, короче пропустил кавычки в описании формы здесь enctype="multipart/form-data". И все соответственно накрывалось.
     

Поделиться этой страницей

Загрузка...