PHP prakticky/Upload a download: Porovnání verzí

Smazaný obsah Přidaný obsah
m Robot: kosmetické úpravy
Řádek 1:
Tato kapitola popisuje celý princip přetahování souborů mezi serverem a návštěvníkem webu. Pro názornost je u každého příkladu zpracován formou jednoduchého příkladu.
 
Hotovo
== Nahrávání souboru na server (Upload) ==
 
Protože zde je nutné uvést i HTML formulář, je následující příklad kompletním zdrojovým kódem ukázkové stránky. (Název souboru je upload.php)
<syntaxhighlight lang="php">
<HTML><BODY>
 
<!-- Zde si povšiměte parametru ENCTYPE: -->
<FORM method="post" action="upload.php" enctype="multipart/form-data">
<INPUT name="soubor" type="file">
<INPUT type="submit" value="OK">
<INPUT type="hidden" name="odeslano" value="ano">
</FORM>
 
<?php
if($odeslano=="ano") {
move_uploaded_file($soubor,"soubory/".$soubor_name); // Překopírujeme soubor do zadaného umístění
echo "Původní název souboru: ".$soubor_name."<br>";
echo "Velikost souboru: ".$soubor_size."B<br>";
}
?>
</HTML>
</syntaxhighlight>
 
Tato stránka nejprve zobrazí formulář pro výběr souboru. Při odeslání se soubor nahraje do složky soubory se zachováním originálního názvu. Po dokončení se návštěvníkovi zobrazí informace o názvu a velikosti souboru.
 
'''Princip:'''
* Parametr ENCTYPE v HTML prvku FORM určí, že se mají odesílat jak soubor, tak i formulářová data (Lze přidat další políčka)
* Při odeslání formuláře uloží server soubor do dočasné složky s náhodným názvem a uloží tuto adresu do PHP proměné, jejíž název je shodný se jménem INPUT prvku FILE. (Políčkem pro zadání souboru)
* PHP skript překopíruje soubor z dočasné složky do složky soubory a vypíše příkazy ECHO název a velikost nahrávaného souboru souboru. (Ukládají se do proměné $x_name a $x_size, kde x je název políčka FILE.
* Po dokončení PHP skriptu server soubor z dočasné složky smaže!
 
== Stahování souborů ze serveru (Download) ==