V tomto článku si ukážeme způsob, jak na server nahrávat pomocí
PHP skriptu různé soubory. Skript "upload" se bude skládat z jednoho
souboru, který po otevření bude mít formu formuláře a po odeslání se
zobrazí informace o uploadu a zda-li se nahrání zdařilo nebo ne.
Tento formulář se trochu liší od normálního formuláře, a to v tom,
že musíme zadat do formuláře parametr
ENCTYPE="multipart/form-data" a metodu zaslání
METHOD="post". Formulář bude odkazovat na ten samý soubor,
jenom v PHP skriptu pomocí podmínky if ($ok == "Upload")
rozeznáme, že formulář byl vyplněn a odeslán.
Pokud by byl zadán špatný název souboru, podmínky ve skriptu
ohlásí, v našem případě: Soubor nemohl být nahrán, zřejmě došlo k
chybě! nebo Zadali jste špatný typ souboru!. Tímto se
vyvarujeme například odesílání prázdných formulářů atd. Pokud se
budete chtít podívat na již hotový upload, pak máte možnost zde, kde je navíc ještě zobrazení již nahraných
souborů na server, takže máte kontrolu nad průběhem uploadování.
Možnost stažení hotového skriptu zde. A teď už se můžeme vrhnout na samotný
skript.
Celý skript funguje na příkazech:
copy - zkopíruje
soubor.
if - podmínka "když"
else - podmínka
"nebo"
Vytvoříme si soubor upload.php do něhož vložíme skript
uvedený v tabulce.
<HTML> <HEAD> <TITLE>PHP:
Upload souboru na
server</TITLE></HEAD> <BODY> <table
border="0" width="100%" cellspacing="0"
cellpadding="0"> <tr> <td
width="100%"><font face="Arial"
size="2"><b> Zadejte jméno
souboru:</b></font></td> </tr> <tr> <td
width="100%" style="border-bottom: 3 double
#808080"> <FORM ACTION="upload.php" METHOD="post"
ENCTYPE="multipart/form-data"> <INPUT TYPE="file"
NAME="soubor" SIZE="40"> <INPUT TYPE="submit"
NAME="ok"
VALUE="Upload"> </FORM> </td> </tr> </table> <? if
($ok == "Upload" && $soubor_name!="") { $size =
$soubor_size / 1000; if ($soubor_type == "text/plain" ||
$soubor_type="text/html") { if (copy ($soubor,
"soubory/$soubor_name")) { echo "<font face=\"Arial\"
size=\"2\"><b>Soubor $soubor_name o velikosti $size
KB byl nahrán na
server</b></font><BR>"; } else
{ echo "<font face=\"Arial\"
size=\"2\"><b>Soubor nemohl být nahrán, zřejmě došlo
k chybě!</b></font><BR>"; } } else
{ echo "<font face=\"Arial\"
size=\"2\"><b>Zadali jste špatný typ
souboru!</b></font><BR>"; } } ?> </BODY> </HTML> |
Jelikož veškeré soubory budou uploadovány do adresáře soubory,
nesmíme zapomenout tento adresář vytvořit a samozřejmě nastavit jeho
přístupová práva. A to by mělo být vše ke článku o uploadování
souborů na server, který si můžete vyzkoušet též zde.