Podmiana pliku na serwerze a konsekwencje

0

Chciałabym zapytać co się stanie kiedy ktoś wejdzie na stronę http://www.strona.pl/podstrona.html, podczas gdy plik podstrona.html będzie podmieniany na inną jego wersję (zamiany pliku starego na nowy). Zobaczy tylko tyle pliku ile zdążyło się zauploadować? zobaczy błąd?

Mój skrypt będzie b. często uaktualniany i na bank zdarzy sie sytuacja, w której ktoś zażąda aktualnie podmienianej strony. Wolałabym uniknąć takich utrudnień dla użytkowników jak np. blockowanie dostepu do plików na czas podmiany.

0

Jeśli nadpisujesz plik to zostanie on skasowany i stopniowo będzie się pojawiała jego nowa wersja na serwerze. Napisz sobie jakąś kontrolę w PHP która sprawdza czy plik nie jest właśnie aktualizowany.

0

Dodaj sobie funkcję ktora dodasz na początku i na końcu pliku. Jesli obie sa to pokazujesz plik. Jesli nie to jakies przekierowanie na główną albo gdzies indziej.

0

Prawidłowo powinno być tak, że panel obsługi kasuje poprzedni plik i daje nowy. Co się dzieje w czasie gdy plik jest skasowany zależy od używanego systemu. Są systemy które blokują odpowiedź http na czas zamiany a inne wyświetlą że nie ma pliku. Czas wymiany jest tak krótki, że ten brak pliku bardzo rzadko wystąpi.

0

Mój sposób na to, jeśli masz automatyczne uaktualnianie i niczego innego nie da sie za bardzo zrobić:

Masz folder z rozmiarami plików /chksum/
Masz folder z plikami /files/

Pliki są w formacie: /files/plik_costam.html
Sumy kontrolne: /chksum/plik_costam.html.txt

W pliku tekstowym jest właściwy rozmiar pliku.

Skrypt PHP w trakcie serwowania pliku sprawdza czy:

  • Plik z rozmiarem pliku istnieje i nie jest pusty
  • Plik z rozmiarem pliku jest właściwy (początek i koniec pliku są odpowiednio oznaczone)
  • Plik z katalogu files istnieje
  • Plik z katalogu files ma taki sam rozmiar jaki powinien mieć

Jeśli coś się nie zgadza to:

sleep(5);

I przekierowanie do samego siebie. W GET zliczane są przekierowania, jeśli jest ich za dużo to pokazuje się 404.

1 użytkowników online, w tym zalogowanych: 0, gości: 1