Autor Zpráva
Petr G
Profil *
Zdravím,
pracuji na projektu, kde si uživatel žádal ke článkům přidávat jednu fotografii a jeden soubor PDF, přičemž není nutností aby je nahrával. Neřešil jsem možnost, že by někdy chtěl přidat více souborů a udělal to nejjednodušší cestou. Bohužel k mojí smůle se uživatel rozhodl, že by se mu tam hodilo nahrávat dva soubory PDF. A co teď? Budu to muset složitě překopat, neboť jsem s tím nepočítal a ukládání článků se soubory obsahují i možnost náhledu, tedy soubor se nahrává buď při přímém uložení, nebo při náhledu a poté pokud nebyl změněn se již nahrává z dočasné složky na serveru. Možností je samozřejmě editace, při editaci opět možný náhled atd. No prostě hafo a hafo ošetření aby vše fungovalo a nezůstavaly po servru ztracené soubory při nahrávání.

Co se týče mého konkrétního případu, budu to muset upravit na dva soubory, protože se mi to nechce překopávat úplně celé.
Na co se chci ale zeptat: Do budoucna. Jak se při tomto postupuje? Plno diskuzí založených na nejrůznějších šablonách mají možnost nahrávat jakýkoli soubor a další a další. Jak se to řeší? Konkrétně by mě zajímalo poznatky z praxe. Způsob ukládání, zkombinování s možností náhledu. Nic tak konkretního jsem bohužel nikde nenašel. Má cenu si napsat pár scriptů na toto pro možnost znovupoužitelnosti nebo existuje nějaký opensource?

Díky.
Alphard
Profil
Samostatná databázová tabulka se sloupcem identifikujícím článek, ke kterému daná příloha patří. Jestli budou přílohy uložené v databázi, nebo budou v databázi jen adresý souborů už záleží na vás.
Tento systém umožní ukládat libovolný počet souborů.

Všechny akce, upload, náhled, … řešit cyklem.
Petr G
Profil *
K tomuto řešení jsem taky došel co se týče řešení pro uložení v DB. Trápí mě ale myšlenka odchytání všech možných ošetření.

Například u mnoha fór při vkládání příspěvku jsou na stránce dva formuláře. Jeden pro samostatný příspěvek, druhý pro přílohy. Kde se například ukládají přílohy když článek ještě není uložený? Nemůžu to ukládat do jedné složky neboť v jeden okamžik může nahrávat soubory dalších 100 lidí. Asi bych při ukládání příloh, kdy ještě není článek uložen, vytvořil dočasnou složku pojmenovanou časovým razítkem. Do této složky bych nahrával všechny přílohy od uživatele a jakmile by se rozhodl uložit celý článek nahrály by se přílohy z dočasné složky, zde by i odpadlo moje aktuální řešení kdy mám vše v jednom formuláři a musím zjišťovat jestli se přílohy nahrávají poprvé a hned se ukládá celý článek nebo byl předtím zvolen náhled a přílohy jsou už někde na serveru v dočasné složce.)

Pak bych si napsal ještě malý script pro kontrolu dočasných složek, které už nemají platnost a všechny vymazal.

Jsou moje myšlenkové pochody dobré?
Alphard
Profil
[#3] Petr G
Nabízím alternativu.
Při prvním odeslání příloh nebo článku se v databázi vytvoří nový článek, jen bude mít v nějakém stavovém sloupci poznámku, že je to koncept. Přílohy se nahrají standardním způsobem. Po uložení článku se změním stav na finální, pokud ne, tak může cron snadno smazat staré koncepty a přílohy, které k nim patří.
Petr G
Profil *
Sakra to je vychytraly :-D ... Odpada problém se šíleným ošetřováním, přístupu více uživatelů apod.
Mockrát díky.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0