Krótki wstęp:
Zapisuje konfigurację skryptu w pliku xml. Odczytuję go przez SAX. Najważniejszy w takim konfigu jest odczyt, bo jest robiony przy każdym gościu na stronie. Zmiany w pliku następują bardzo rzadku i tylko z poziomu admina.
Główny problem:
Pomyślałem sobie, żeby zapisywać dane z pliku xml (po ich odczytaniu) w plik php w postaci tablicy. Przy następnej wizycie dane konfiguracyjne byłyby odczytywane z plik php a nie xml.
Jak sprawdzić czy plik xml się zmienił? Od tego sprawdzenia zależy czy wczytać dane z pliku xml czy z pliku php.
Pytanie dodatkowe:
Jak sprawdzić czy tablica zmieniła się od początku trwania skryptu?
Narazie wymyśliłem coś takiego: na początku zapisuję w zmiennej serializację tablicy, koduję zmienną md5 (żeby zajmowała mniej miejsca). Na końcu robię to samo z tablicą i porównuje.[php:1:57172c1fac]<?php
$array = array();
$c = md5(serialize($array));
//instrukcje które mogą zmienić zawartość tablicy
if($c != md5(serialize($array)) echo 'jest zmiana!';
?>[/php:1:57172c1fac]
Moje wątpliwości:
1. Czy jest możliwie, że dwa stringi będą miały taki sam kod md5?
2. Czy w ogole warto kodować zserializowaną tablice przez md5. Łańcuch zakodowany jest o wiele krótszy, ale byćmoże funckja md5() pochłania wiecej czasu niż wszystkie operacje na niezakodowanym łańcuchu razem wzięte.