Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Strona pobierająca brakujace pliki
Forum PHP.pl > Forum > PHP > Pro > Archiwum Pro
Tsiru
Wpadłem na pomysł napisania strony, która pobiera sobie sama brakujace pliki (np. po awarii serwera). Każdy plik przed pobraniem miałbybyć sprawdzany według 3 kryteriów (z czego 2 pierwsze można było by pominąć): rozmiaru, hashu i nazwy.
pliki nają mieć mniej-więcej taką strukture:
Kod
index.php         // klasa odpowiedzialna mi. za obslugę błędów, i ściąganie brakujących plików
katalog_sys       // glowny katalog zawierający wszystkie pliki, nazwa zdefiniowana w stałej "rd"
  |- kernel.php   // klasa obslugujaca cala reszte, tu mialy by byc sprawdzane wszystkie* pliki
  |- mods         // moduly
  |- conf         // konfiguracja, tu niebyło by dostepu
  |- log          // i do logowania tez
  |- temp         // pliki tymczasowe
  |- classes      // pliki tymczasowe
  |- old          // stare pliki, które zostały zastąpione
i jeszcze kilka innych

*Sprawdzanie oraz udostepnianie plików odbywalo by sie na 3 poziomach, dzięki czemu pliki konfiguracyjne i inne poufne dane, były by bezpieczne:
    sprawdzane jest wszystko
    sprawdzane są tylko konkretne rozszeżenia
    katalog jest pomijany
Jesli czas edycji/utworzenia pliku zostałby zmieniony, sprawdzana jest jego suma kontrolna. Jeśli suma kontrolna pasuje, to daty w bazie są poprawiane, w przeciwnym wypadku plik zostaje przeniesiony do katalog_sys/old. Każdy plik byłby z tamtąd wywalany, np po 10 dniach.
Problem mógłby się pojawić właśnie przy ściąganiu plików. Założenie jest takie, że plik kernel.php
miałby być pobierany tylko z jednego, pewnego źródła, co by miało ułatwić wypuszczanie nowych wersji, gdyż instalator składał by się z jednego pliku index.php, a reszta pobierana byłaby ze stron, na których ów skrypt się znajduje (ty myślałem zrobić coś w stylu oceny stron, żeby sprawdzało te z lepszym transferem i umieszczało je na początku listy). Główny serwer zawierał by liste takich stron.
Takie rozwiązanie miało by kilka zalet:
    strona była by odporniejsza na uszkodzenia plików
    banalna instalacja - nie ściągane były by wszystkie pliki, ale tylko te potrzebne w danej chwili
    łatwosc robienia upgrage'u i instalowania dodatkowych modułów
ale i wad też:
    spowolnienie dzialania a nawet zatrzymanie skryptu przy pobieraniu wiekszej ilosci plikow (patrz:instalacja)
    ryzyko zhackowania (ale jeśli skrypt będzie rozpowszechniany za darmo, to kazdy i tak moze sobie sciagnac źródło)
Co sądzicie o takim pomyśle ?
Vengeance
A zdażają Ci się takie awarie by było to konieczne? Mnie chyba jeszcze nigdy nagle nie zmieniło pliku źródłowego PHPa. Po co więc sobie czas zabierać, i procesorowi? No chyba że w formie treningu.
cicik
Ja tez od dluzszego czasu mysle na takim rozwiazaniem.
Chce je wykorzystac do udostepniania poprawek (nowych modulow).
Strona klienta pobiera nowy modul i uruchamia jego instalator (np. install.php). On juz dalej wie co jak.
Myslalem tez na sprawdzaniem informacji czy dany modul moze byc zainstalowany na oprogramowaniu klienta (zgodnosc wersji, obecnosc innych wymaganych modulow).

Myslalem o tym, zeby modul byl zzipowany. Wtedy program klienta sciaga zipa, rozpakowuje i przekierowuje do instalatora. Zalozenie jest takie, ze zip musialby byc maly. Ewentualnie mozna kazac normalnie sciagnac zip klientowi i umiescic na ftpie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.