Vítám vás u dalšího seriálu. Dneska si ukážeme jak na upload souborů na server a to ve dvou variantách.
..První způsob bude upload jednoho souboru a druhý způsob bude pro uploadování více souborů.
První způsob je velice jednoduchý, protože pracujeme jen s jednou hodnotou souboru.
Vytvoříme si tedy soubor upload.php a vložíme do něj následující kód.
if (is_uploaded_file($soubor))://pokud jiz byl proveden upload
$cesta="data/"; //nami definovana cesta
if (move_uploaded_file ($soubor, $cesta.$soubor_name)): //presunuti souboru do naseho adresare
echo "Soubor $soubor_name o velikosti $soubor_size bajtů byl úspěšně nahrán na server"; // oznameni o uspesnosti
else:
echo "Při nahrávání souboru došlo k chybě!"; //oznameni chyby
endif;
endif;
// formular pro upload
echo "";
?>
Určitě není potřeba tento kód komentovat, jen si myslím, že stojí za zmínku tyto proměnné, které vzniknou automaticky po uploadu souboru.
Vzniklé proměnné:
$soubor_name obsahuje název původního souboru.
$soubor_size obsahuje velikost souboru.
$soubor_type obsahuje typ původního souboru.
A nyní si probereme naší druhou ukázku, která bude sloužit pro upload více souborů. První otázkou bude co pro nás znamená pojem více, uděláme to tak, že před samotným formulářem pro upload si zvolíme kolik chceme uploadovat souborů. Vytvoříme si tedy soubor upload.php a vložíme kód.
if(!isset($kolik)):
// pokud neni nastaven pocet souboru k uploadu
// zobrazime formular
echo "";
else:
// pokud byl nastaven pocet souboru
// zjistime zda uz doslo k uploadu
if(isset($soubor)):
// doslo k uploadu a tak zpracujeme data
for ($po=0;$po<$kolik;$po++):
if (is_uploaded_file($soubor[$po]))://pokud jiz byl proveden upload
$cesta="data/"; //nami definovana cesta
if (move_uploaded_file ($soubor[$po], $cesta.$soubor_name[$po])): //presunuti souboru do naseho adresare
echo "Soubor $soubor_name[$po] o velikosti $soubor_size[$po] bajtů byl úspěšně nahrán na server
"; // oznameni o uspesnosti
else:
echo "Při nahrávání souboru došlo k chybě!
"; //oznameni chyby
endif;
endif;
endfor;
else:
// upload neprobehl
// zobrazime formular pro upload
echo "";
endif;
endif;
?>
Doufám, že vám tyto informace pomohou, ať už k pochopení PhP, nebo jen při tvorbě vašich WWW stránek.
Mějte se a zase příště.