PDA

Zobacz pełną wersję : Upload plików



syli
17-03-2014, 15:58
Witam
Piszę swój własny komponent, który będzie kopiował pliki na serwer do katalogu images (tam gdzie wszystkie zdjęcia w joomli).
Natrafiłem na problem, z którym nie potrafię sobie poradzić (o to kod odpowiedzialny za kopiowanie):
$max_rozmiar = 1024*1024;
if (is_uploaded_file($_FILES['plik1']['tmp_name'])) {
if ($_FILES['plik1']['size'] > $max_rozmiar) {
$mainframe = JFactory::getApplication();
$mainframe->redirect('index.php?option=com_katalog&view=katalog', JText::_('Błąd! Plik jest za duży!'));
} else {
if (isset($_FILES['plik1']['type'])) {
$mainframe = JFactory::getApplication();
$mainframe->redirect('index.php?option=com_katalog&view=katalog', JText::_('Zły typ pliku'));

}
move_uploaded_file($_FILES['plik1']['tmp_name'],
$_SERVER['DOCUMENT_ROOT'].'/images/'.$_FILES['plik1']['name']);
$mainframe = JFactory::getApplication();
$mainframe->redirect('index.php?option=com_katalog&view=katalog', JText::_('udało się'));
}
} else {
$mainframe = JFactory::getApplication();
$mainframe->redirect('index.php?option=com_katalog&view=katalog', JText::_('Błąd przy przesyłaniu danych!'));
}

Przekazuję z formularza "plik1", lecz komponent nie zgłasza błędu. Zachowuje się jakby upload powiódł się, lecz plik nie został skopiowany do katalogu images. Najprawdopodobniej chodzi o tą linijkę:
move_uploaded_file($_FILES['plik1']['tmp_name'],
$_SERVER['DOCUMENT_ROOT'].'/images/'.$_FILES['plik1']['name']);
Jak podać odpowiednią ścieżkę - próbowałem już kilku sposobów z tym samym skutkiem.
Bardzo proszę o pomoc.

KES
17-03-2014, 17:38
Poczytaj o klasie JFile.
Jeżeli potrzebujesz ścieżkę do folderu images:

JPATH_ROOT.'/images'