![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 25.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie, poszukuję wskazówek do rozwiązania następującej sytuacji.
Na moim serwerze lądują pliki .zip z programu do obsługi biur nieruchomości. W pierwszym pliku jest cała paczka ofert (zdjęcia+pełny plik XML), zaś w kolejnych już tylko poprawki zawarte w XML oraz poprawione zdjęcia. Chciałbym doprowadzić do sytuacji automatycznej aktualizacji tych plików oraz zmian w xml. Plan mam taki: 1. Stworzyć plik cron o nazwie np. cron-13.php 2. W niego władować:
// nie wiem, czy w ten sposób załapie, że chodzi o wszystkie pliki zip w tym folderze które przyjdą (będą miały różne nazwy) // nie wiem, gdzie umieścić plik cron, jeżeli paczki .zip przechodzą do folderu docelowego 4. Scalenie xml Dalej muszę umieścić komendę zamiany określonych wartości z nowego pliku oferty.xml do starego oferty.xml: Jeżeli w nowym pliku xml znajdzie się <oferta><id>numer_id</id> (jeżeli pokrywają się ID danej oferty) to nadpisz ją, Jeżeli w nowym pliku xml <oferta_usun><id>numer_id</id></oferta_usun> to usuń ją w starym pliku rozpoznając po ID, Jeżeli w nowym pliku xml <zdjecie><id>numer_zdjęcia</id></zdjecie> to zamienia w starym rozpoznając po ID i numerze zdjęcia. (będę wdzięczny za chociaż jeden przykład danej komendy ze skierowaniem do konkretnego folderu -> pliku.) Dodatkowo zastanawiam się nad tym: - czy nie będzie za późno po wcześniejszej komendzie wypakowania - pliki się zamienią, i będzie za późno na komendy które chcę uwzględnić. Będę wdzięczny za jakiekolwiek wskazówki. Pozdrawiam! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Wydaje mi się że chyba najrozsądniejszym rozwiązaniem jest zaimportowanie tego do BazyDanych. Fakt jest z tym trochę roboty ale możesz uprościć to trochę jeżeli nie będziesz potrzebował tych danych poza całym XML'e.
Możesz tak: W BD tworzysz tabele odpowiadające: - oferta (tab, typ,id (id z XML), entry (tutaj w postaci tekstu cały węzeł "oferta" - zdjęcia (id (id z zdjecie), kolejność, entry(j.w. cały węzeł 'zdjęcie' Dlaczego tak? Tworzysz jeden parser który będzie Ci wkładał lub zastępował wpisy (REPLACE INTO) w BD. Mielisz XML tylko raz, a wyszukiwanie w bazie jest bardzo szybkie i nie naraża Cię na problemy z pamięcią. Dodatkowo możesz zrobić eksporter do XML, (pobierasz wszystkie dane i upychasz w pętli) Możesz też użyć SimpleXML ale to tylko jeśli nie cierpisz na brak RAM na serwerze. Będzie to najłatwiejsze rozwiązanie ale i najbardziej kosztowne pod względem zasobów. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 04:51 |