Autor | Zpráva | ||
---|---|---|---|
Keeehi Profil |
#1 · Zasláno: 21. 5. 2011, 11:38:09
Ahoj,
chtěl bych pomoct najít nejlepší způsob řešení mého problému. Potřebuji co nejjednodušeji zjišťovat, zda se soubory v určité složce od posledního spuštění scriptu nezměnily. Zda nějaký nepřibyl, nebo naopak nějaký nezmizel. Vím totiž, že pokud by se něco v souboru změnilo, změní se i jeho název. Takto funguje dneska. Takže by mělo stačit kontrolovat jen jména souborů. Jenže to by se mohlo v budoucnosti změnit, takže bude potřeba kromě přítomnosti všech souborů kontrolovat i to, že se nezměnil jejich obsah (i když momentálně to bude zbytečnost). $soubory = scandir("slozka/se/soubory"); array_shift($soubory); array_shift($soubory); $zmeneny_adresar = false; foreach($soubory as $soubor){ $result = mysql_query("SELECT 1 FROM tabulka WHERE slozka='slozka/se/soubory' AND soubor='$soubor' AND obsah='".md5file($soubor)."'"); if(mysql_num_rows($result) == 0){ $zmeneny_adresar = true; break; } } $result = mysql_query("SELECT soubor FROM tabulka WHERE slozka='slozka/se/soubory'"); while($zaznam = $mysql_fetch_row($result)){ if(!in_array($zaznam[0],$soubory)){ $zmeneny_adresar = true; break; } } if($zmeneny_adresar) // nějaký potřebný kód A teď k tomu, proč to vlastně potřebuji. Jde o galerii obrázků. Aby při každém zobrazení té galerie nemusel server znovu a znovu generovat html kód, tak jsem to chtěl udělat tak, že by se html vygeneroval jen jednou a pak už by se jen tento soubor staticky zobrazoval. Problém však je, že budu muset zjišťovat, zda se obsah adresáře nezměnil. A když na to tak koukám, tak mi to přijde složitější (časově/procesorově náročnější) než prostě vygenerování html omáčky kolem pole s názvy souborů. Takže bych vás chtěl poprosit o názor, případně o radu, jak to udělat jednodušeji. Ještě by tu byla možnost, že po změně by se přegenerování spustilo ručně. Tuto variantu však rozhodně nechci. |
||
Davex Profil |
#2 · Zasláno: 21. 5. 2011, 12:04:27
Nestačilo by hlídat čas poslední změny adresáře a čas poslední změny souborů?
|
||
Keeehi Profil |
#3 · Zasláno: 21. 5. 2011, 14:12:26 · Upravil/a: Keeehi
Davex:
To by bylo úplně perfektní. Něco takového jsem hledal, tušil jsem, že už jsem to někde viděl, ale neměl jsem ponětí jak to najít. Díky za tip. Tak jsem to vyzkoušel a pro moje potřeby to stačí. Na win XP a Linux CentOS 5.5 to reaguje na vložení/vytvoření souboru, smazání, přejmenování. Když se ale změní obsah souboru, tak to to nezaznamená. V mém případě to však nepotřebuji, takže děkuji za výbornou radu. |
||
Časová prodleva: 13 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0