Autor Zpráva
23k
Profil
PHP se ucim cca pul roku. Databaze docela zvladam. Na soubory sem se vyflakl uplne. Umim zakladni operace, zapis, precteni, zavreni atd ....

Dal by mi nekdo pricinu abych se je naucil poradne, nebo je to ztrata casu kdyz si pres DB udelam vse co chci


DIKY
Wan-To
Profil *
Soubory mají oproti databázím dvě zásadní nevýhody:
1) nemůžeš používat SQL
2) Soubor si může kdokoliv stáhnout, pokud zná jeho adresu
Hugo
Profil
Wan-To

2) Soubor si může kdokoliv stáhnout, pokud zná jeho adresu

Pomoci .htaccess se da zakazat pristup k souboru.

Vyhoda souboru je, ze funguji i na serverech, kde neni nainstalovana DB, prip. kde bezi DB pomalu nebo ma velke omezeni (pocet pripojeni, dotazu ...).

Rozhodne se vyplati umet se soubory pracovat.
Leo
Profil
Delat treba internetovy obchod se soubory misto relacni databaze? Umet db je nezbytnost, rada lidi se jich boji, a bastli to pres soubory, ale je to jen lenost a pak si hledaji vymluvy. Leo
Hugo
Profil
Leo

Ja jsem nemyslel, aby vubec nepouzival DB. Ja je pouzivam pokazde, kdyz to jde. Ale nastanou situace, kdy to nejde (neni na serveru nainstalovana, nebo ma prilis velke omezeni ...). A potom se hodi umet delat i se soubory.
Leo
Profil
No ja bych rekl, ze se to vzdycky odviji od projektu a zadani, ne z opacnyho konce / moznosti serveru. Pokud budu delat treba ten eshop, tak proste zvolim jiny webhosting, v tomhle je dnes konkurence velka a nebudu to prece delat na freehostingu kde neni ani MySQL, Leo
Honza Hučín
Profil
Hodně záleží na tom, co se s PHP dělá. U laiků panuje dojem, že PHP je dobré jen na dynamické generování webových stránek. Ale ono se dá používat i na správu souborů, zpracování XML souborů, generování ne-HTML souborů (např. RTF nebo PDF)...
llook
Profil
Je spousta věcí, na které jsou vhodnější soubory. Se soubory se mnohem komfortněji pracuje uživatelům. Třeba takový šablony stránek patří do souborů - kodér si je může stáhnout na disk, upravit a zase uploadovat přes FTP. Různé konfigurační soubory, nebo jazykové soubory. Příkladů se najde víc.
Relační databázi jako adekvátní náhradu filesystému nevidím.
Leo
Profil
No to je snad samozrejmy, ze PHP pracuje i se soubory, ja mluvim o pripadu, kdy je nekdo pouziva jako nahradu databaze. Leo
llook
Profil
Vím z hlavy přinejmenším o jednom redakčním systému, který zrovna šablony stránek i veškeré nastavení (kromě nastavení přístupu k databázi) ukládá do MySQL a umožňuje je upravovat akorát přes textareu.
O tom jsem zas mluvil já - o případech, kdy někdo používá databázi jako náhradu souborů.
thingwath
Profil
llook
Jak kdy, v situaci, kdy bych měl šablon dvacet tisíc a dvojnásobek položek nastavení, tak bych to do té databáze uložil bez sebemenšího váhání.

(Relační) Databáze je IMHO nevhodná hlavně pro velmi malé množství dat a velmi odlišná data, která se špatně popisují do tabulky relační databáze. Pak také záleží na tom, jak s těmi daty chceme pracovat. Databáze spoustu věcí ulehčí, ale je nutné mít data dobře popsaná a zařazená...
Pachollini
Profil
23k: já myslím, že umíš v zásadě všecko, co potřebuješ ;-)
Já většinou používám jenom funkce file(), file_get_contents(), fopen(), fclose(), fputs(), opendir(), closedir() a readdir() což máš naučený za 10 minut.
Leo
Profil
"Vím z hlavy přinejmenším o jednom redakčním systému, který zrovna šablony stránek i veškeré nastavení (kromě nastavení přístupu k databázi) ukládá do MySQL a umožňuje je upravovat akorát přes textareu.
O tom jsem zas mluvil já - o případech, kdy někdo používá databázi jako náhradu souborů."

Coz - rekl bych - je v tomto pripade idealni reseni. Mate vsechno pohromade, akorat obrazky date do souboroveho systemu. Leo
Anonymní
Profil *
Pachollini > jak ty vis co ja umim? ;)

Leo > Presne tak jsem to myslel, vetsinou kdyz je tady v threadu nakej problem s necim, guestbook, anketa ... a vidim tam FWRITE, FGETS ... tak to ihned zaviram. Takze pokud umim pouzivat Databaze, tak se na tyhle veci mam proste vykaslat.

Ilook > Samozrejme soubory jako takove jsou pouzitelne, schovam si do nich sablonu webu, vlastni funkce na pripojeni k DB atd.
ale myslel jsem to tak jak pochopil Leo.

Jinak tvorim novy masivni web cca pro ONLINE LIGU a prave pro mne to zajimalo.
Clanky, novinky, rozpis zapasu, atd to vse je pres databazi ale kod je normalne ulozen v PHP souborech. Zbytek stranek cca 20%, jsou staticke ktere se moc menit nebudou (Pravidla souteze ...) takze je normalne napisu v HTML a hodim pres FTPko na server.


Takze snad to mam OKY.

DIKY VSEM
23k
Profil
Ach ty cookiesky... ale byl sem to ja :]
llook
Profil
Leo To je ideální pro programátora, ale pro tvůrce šablon to znamená buďto tvořit šablony v textaeře nebo je do ní vkládat přes schránku.
Alternativou by byl formulář pro uploadování souboru se šablonou, ale i tak se mi zdá FTP pohodlnější.
fprint
Profil *
Jen pár poznámek k využití souborů/databáze:

"soubor se může stáhnout pokud uživatel zná jeho adresu"
Kromě toho že se to dá zakázat, nikdo vám nebrání dát souboru příponu php a napsat do něj krátký kód. Vlastní data budou uvozena komentářem. Pak si zlobivý uživatel stánhe prd.

Z principu je správné použití databáze kdykoliv je to možné, protože se nemusíte starat o souborový systém, práva přístupu k souborům, nemusíte řešit způsob ukládání strukturovaných dat, nemusíte se zdržovat jejich parsováním a tříděním - spoléháte pouze na řešení autorů databázového systému, kteří v tom již mají mnoho zkušeností, takže to jistě dělají mnohem efektivněji než byste to dělali vy v souborovém systému. Prostě nemusíte znovu vymýšlet vymyšlené.

Přesto jsou někdy důvody proč raději použít soubory.
1) Z různých důvodů nemusí být databáze k disposici a hosting se třeba nedá změnit...
2) Neměnné části stránky, které se používají při každém zobrazení je zbytečné ukládat do databáze.
3) Databáze sice má funkci pro zálohování a upload dat, ale co třeba skript, který vám automaticky vytvoří všechny tabulky a naplní je ze souboru, aniž byste se museli přihlašovat do phpAdmina. Nebo skript, zálohující data z databáze spouštěný cronem a ještě vám to zaloguje.
4) vůbec logování choulostivých operací je ideálním způsobem využití souborů. Proč logovat do databáze a potom řešit nějaký výstup pro prohlížení logu, když třemi příkazy záznam uložíte do souboru, který pak jednoduše otevřete v jakémkoliv prohlížeči. Navíc pokud neošetřite SQL injecting, lze snadno všechny logy smazat, zatímco u souboru je to složitější.
5) ještě mě napadá trapné hlášení při nefunkci databáze u stránky která se plně spoléhá na databázi zatímco by klidně mohla být statická (některé firemní prezentace, osobní stránky apod).
Toto téma je uzamčeno. Odpověď nelze zaslat.

0