ARCHIV |
|||||
Software (10844)
Distribuce (131)
Skripty (697)
Menu
Diskuze
Informace
|
PHP (31) - Upload a download souborůDnes si ukážeme, jak s pomocí PHP dostat soubor na server a naopak jak soubory ze serveru stahovat. Úvod je trochu nadnesený. Rychle zjistíte, že nahrávání souboru na
server ani jeho stahování není záležitostí samotného PHP, jako spíše
využití některých možností, které nám nabízí HTML. Líbilo se mi ale
zařadit tuto látku do seriálu o PHP, protože často to v takových
seriálech chybí a museli bychom to hledat někde jinde. Začneme
stahováním souborů, je to jednodušší. Stahování souborů ze serveruProhlížeče mohou rozumět různým typům souborů. Tak například
jestliže klepnete na odkaz vedoucí na stránku html, pokusí se ji
prohlížeč najít a zobrazit. Zatímco třeba klepnutí na odkaz vedoucí
k souboru zip nejspíš povede k jeho stažení. Problém může nastat v
případě, kdy chceme prohlížeč přemluvit, aby stáhnul jako soubor něco,
co by normálně zobrazil. Například, máme na serveru soubor 31_test.html.
Jestliže jste kliknuli na odkaz, prohlížeč Vám ho téměř jistě zobrazil.
Stáhnout jej můžete tak, že prohlížeči vysvětlíte, že má soubor považovat za přílohu. Odkaz nepovede na samotný soubor html, ale na soubor PHP, který nejprve přemluví prohlížeč, aby soubor stáhl, a pak to udělá. Soubor php může vypadat následovně: <?
Trik spočívá v přidání hlaviček, které se pokusí vysvětlit
prohlížečům, že mají se souborem zacházet jako s něčím ke stažení a ne
to zobrazovat. Pozor, zase platí, že k souboru musíme mít minimálně
právo pro čtení, abychom jej mohli stáhlout. Různé prohlížeče se k
tomuto postupu postaví různě,
ale je to lepší než nic. Pozn.: V reálné aplikaci bychom
zřejmě místo proměnné $soubor, která je zde nastavena "natvrdo" použili
funkci a umožnili bychom tak stahovat například soubor předaný jako
parametr. V příkladu to není úmyslně, je to potenciální bezpečnostní
díra do souborového systému webu. Uvědomte si rovněž, že to, co chceme stahovat vůbec nemusí předtím existovat jako soubor na serveru. Následující skript například vytvoří a nabídne ke stažení údaj s aktuálním datem a časem serveru: <?
Je jasné, že takový trik se může hodit když potřebujeme nějaké
informace nabídnout uživateli ke stažení, přičemž třebas nemáme možnost
na serveru vytvářet soubory. Nahrávání souborů na serverTo je vlastně opačný problém. PHP samo o sobě umožňuje zapisovat soubory na server pomocí protokolu ftp nebo http, pokud je to povoleno. Takže, následující kód by vytvořil soubor a zapsal do něj požadované informace: <?
Moc se ale neradujte. Aby to fungovalo, měly by být splněny
následující požadavky:
Na druhou stranu tak můžete otevřít soubor na druhé straně
zeměkoule, takže zajímavá metoda je to rozhodně. Pokud budete chtít uploadovat soubor z počítače, u něhož právě
sedíte, můžete využít toho, že nahrávat soubory lze pomocí formulářů.
Asi takhle: <?
Ukázat celý skript | Spustit skript Formuláře totiž mohou obsahovat prvky typu FILE, které způsobí
odeslání souboru na server. Zobrazte si celý skript, trochu si jej
rozebereme. Probíhá to v následujících krocích:
Pozn.: V našem případě prostě
soubor vypisujeme, abyste se ujistili, že skutečně dorazil na server.
Jelikož je to ale příklad, každý další soubor nahradí ten předchozí,
abychom zbytečně neplýtvali místem na serveru. Příště si ukážeme, jak soubory pomocí PHP komprimovat a
dekomprimovat a celý kus seriálu zakončíme návodem, jak si udělat blog.
Související články
Předchozí Celou kategorii (seriál) Další
PHP (1) - Historie a budoucnost
PHP (2) - Jak to funguje PHP (3) - Instalace PHP (4) - Základy syntaxe PHP (5) - Příkaz Echo; formátování kódu PHP (6) - Typy proměnných PHP (7) - Pole PHP (8) - Výrazy, konstanty, inkrementace PHP (9) - Přetypování proměnných PHP (10) - Logické výrazy a operátory PHP (11) - Operátory porovnání; priorita operátorů PHP (12) - Podmínky PHP (13) - Příkazy cyklu PHP (14) - Cyklus for PHP (15) - Funkce PHP (16) - Vyrobme si kalendář PHP (17) - Dokončujeme kalendář PHP (18) - Funkce pro práci s poli PHP (19) - Objekty PHP (20) - Objekty podruhé PHP (21) - Vkládání souborů PHP (22) - Regulární výrazy PHP (23) - Neztraťte se ve funkcích PHP (24) - Pracujeme s formuláři PHP (25) - Formuláře - nikomu nevěřte PHP (26) - Formuláře na sto způsobů PHP (27) - Příklady na formuláře PHP (28) - Chybovati je lidské PHP (29) - Soubory a adresáře PHP (30) - Počitadlo pomocí souborů PHP (32) - Příklad na BLOG PHP (33) - HTTP hlavičky PHP (34) - Úvod do databází PHP (35) - Uložení dat v databázi PHP (36) - Připojujeme se k MySQL PHP (37) - Tvorba tabulek v MySQL PHP (38) - Dolujeme data z MySQL PHP (39) - Zobrazujeme a stránkujeme data PHP (40) - PHP a vkládání záznamů do databází PHP (41) - Měníme data v databázích PHP (42) - Odstraňujeme databázová data PHP (43) - MySQL rychleji a rychleji PHP (44) - MySQL ještě rychleji PHP (45) - Jsou data v databázi v bezpečí? PHP (46) - Importujeme data do databáze PHP (47) - Exportujeme data PHP (48) - Práce s binárními daty (BLOB) PHP (49) - Kam kráčíš, MySQL? PHP (50) - Ověřování uživatelů PHP (51) - Přenos dat mezi stránkami PHP (52) - Cookies PHP (53) - Sessions PHP (54) - Dodržování webových standardů PHP (55) - Odesílání e-mailů PHP (56) - Tisk a PDF PHP (57) - XML PHP (58) - XML lépe a radostněji PHP (59) - zapisujeme XML PHP (60) - Rozsáhlejší projekty 1. PHP (61) - Rozsáhlejší projekty 2. PHP (62) - Rozsáhlejší projekty 3. PHP (63) - Rozsáhlejší projekty 4. PHP (64) - Ladění kódu PHP (65) - Ladění kódu 2. PHP (66) - PHP debugger PHP (67) - Zdroje informací o PHP PHP (68) - Stavíme portál PHP (69) - Stavíme portál 2. PHP (70) - Registrace uživatelů na portálu PHP (71) - Přihlašování uživatelů na portál PHP (72) - Hrátky s uživateli PHP (73) - Frontend a backend PHP (74) - Administrátorské rozhraní portálu PHP (75) - Pokračujeme na portále PHP (76) - Zobrazujeme data na portále PHP (77) - Portál, databáze a relace PHP (78) - Informační obsah portálu PHP (79) - Triky s formuláři a ergonomie webu PHP (80) - Administrace diskografie hudebního portálu PHP (81) - Uživatel versus programátor PHP (82) - zabezpečení vstupů formulářů PHP (83) - Ukládání textů písní na hudebním portále PHP (84) - Ještě k registraci PHP (85) - ukládání souborů do databáze na portálu PHP (86) - zobrazení dat a stahování soborů pro registrované PHP (87) - finišujeme portál PHP (88) - provoz ve Windows PHP (89) - cesta do hlubin php.ini PHP (90) - Poťouchlé konfigurační volby PHP (91) - php.ini potřetí a naposledy PHP (92) - funkce pro interakci s operačním systémem PHP (93) - příkazový řádek PHP (94) - GUI PHP (95) - GUI podruhé PHP (96) - (ne)bezpečné PHP PHP (97) - bezpečnost ještě jednou PHP (98) - PHP 5. PHP (99) - Budoucnost PHP PHP (100) - Závěr PHP (101) - Apríl: Příklady z praxe php rewrite Byte order mark a PHP Předchozí Celou kategorii (seriál) Další Ke stažení jako HTML nebo jako PDF.
|
Vyhledávání software
Vyhledávání článků
28.11.2018 23:56 /František Kučera 12.11.2018 21:28 /Redakce Linuxsoft.cz 6.11.2018 2:04 /František Kučera 4.10.2018 21:30 /Ondřej Čečák 18.9.2018 23:30 /František Kučera 9.9.2018 14:15 /Redakce Linuxsoft.cz 12.8.2018 16:58 /František Kučera 16.7.2018 1:05 /František Kučera
Poslední diskuze
31.7.2023 14:13 /
Linda Graham 30.11.2022 9:32 /
Kyle McDermott 13.12.2018 10:57 /
Jan Mareš 2.12.2018 23:56 /
František Kučera 5.10.2018 17:12 /
Jakub Kuljovsky | |||
ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze |