| 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ódA 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: 15 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0