Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
PHP
Upload souboru
10. května 1999, 00.00 | Tip na jednoduchý script pro upload souboru na váš server. Popis možností v PHP a zdrojový text scriptu..
Dnes si ukážeme jak jednoduché je upload souboru pomocí prohlížeče a PHP na server.
Technologie vyžaduje spolupráci na straně browseru, tj. uživatel musí mít prohlížeč odpovídající RFC-1867 (tuším, že to je IE, NS od "trojkových verzí"). Dovolím si odhadnout, že na dnešním českém internetu podporuje upload přes 95% prohlížečů.
Základem úspěchu je webový formulář, s definovaným typem kódování jako ENCTYPE="multipart/form-data" a položka ve formuláři s TYPE="file".
Zpracovávající script má poté k dispozici následující proměnné:
- $soubor - jméno a cesta k tmp souboru
- $soubor_name - jméno zasílaného souboru
- $soubor_size - velikost
- $soubor_type - typ (např. "text/html")
Jak asi tušíte, je soubor nejprve uložen do vašeho tmp adresáře (definováno v TMPDIR) a následné přesunutí si musíte zařídit sami (což, pokud se nad tím zamyslíte, je velmi dobře..)
Proměnná $soubor je pouze ilustrativní, její jméno je odvozeno od jména položky ve webovém formuláři (typu "file").
Následuje krátký příklad scriptu, s kontrolou velikosti souboru ap...
$maxsize)
{
printf("Error: Soubor
$soubor_name ma velikost vetsi
nez maximalne dovolenou ($maxsize bytu),
NEBYL nahran
");
$ok=0;
}
else if($soubor_size>$warsize)
printf("Varovani:
Soubor $soubor_name ma velikost vetsi
nez doporucenou ($warsize bytu), BYL nahran");
clearstatcache();
if($ok&&file_exists($s))
{
printf("ERROR: Soubor
$soubor_name jiz EXISTUJE, novy
NEBYL nahran
");
$ok=0;
}
if ($ok)
{
if(!(copy($soubor,$s)))
printf("System error
nemohu zkopirovat $soubor do $s
, sorry");
else {
chmod($s,0644);
printf("Soubor $soubor_name uspesne nahran");
}
}
}
?>
-
25. listopadu 2012
-
30. srpna 2002
-
10. října 2002
-
4. listopadu 2002
-
12. září 2002
-
25. listopadu 2012
-
28. července 1998
-
31. července 1998
-
28. srpna 1998
-
6. prosince 2000
-
27. prosince 2007
-
4. května 2007