Download z FTP pliku za pomocą skryptu PHP

Hej wszystkim,
Potrzebuję pomocy przy tworzeniu skryptu PHP dla pobierania (download) plików .jpg, które znajdują się na serwerze FTP w katalogu. A ten katalog skolei zawiera podkatalogi w którym umieszczone są dopiero te pliki .jpg. Tzn potrzebuje to, ponieważ mam plik xml z ofertą towarów. Każdy towar ma przypisane zdjęcie .jpg, a dane zdjęcie, które jest mi potrzebne znajduje się w innych podkatalogach .

Już Wam to obrazuje:

czyli np.
ftp://example.com/MEDIA/O1/.jpg lub ftp://example.com/MEDIA/O2/.jpg a może to być nawet podkatalog 03 i tak do 09

Do tej pory korzystałam ze skryptu PHP dla jednego pliku rozszerzeniem XML, który znajdował się np.
ftp://example.com/XLM/example.xml i wszystko działało jak trzeba :slight_smile:

Przykład tego skryptu php dla jednego katalogu:

Wracając do meritum; czy ktoś z Was pomoże mi ten skrypt przerobić dla katalogów i podkatalogów tak jak pisałam o tym na samym początku postu. Zaznaczam, że ja kompletnie nie znam nie języka PHP (rozumiem o co chodzi, ale brak mi podstaw, żeby samemu coś napisać lub zmienić), więc tak było by najłatwiej dla mnie.

Liczę na Waszą pomoc za co dziękuję z góry :slight_smile:

Maria

W pliku XML masz lokalizacje tych plików? tzn. np. MEDIA/00/zdjecie.jpg ? Czy chcesz pobrać wszystko jak leci?

Tak, w pliku XML mam lokalizacje plików tzn. np. MEDIA/00/zdjecie.jpg
Tylko bierz proszę pod uwagę, że dane "zdjecie.jpg może być za każdym razem w innym podkatalogu w zależność od produktu czyli:

XML może się odwoływać do różnych ścieżek zdjęcia:
/MEDIA/01/zdjecie1.jpg lub /MEDIA/02/zdjecie2.jpg itd…

No to zobacz, masz $server_file które zawiera pełną ścieżkę na serwerze. Pobierz z tego XML listę plików które chcesz ściągnąć i zamiast wywołać pobieranie raz dla jednego pliku, iteruj dla każdego z nich.

Źle się zrozumieliśmy.

Plik z XML jest generowany z hurtowni raz na dzień i do tego jeszcze dochodzą zmiany stanu towaru co 15 min, więc nie mogę mu wskazywać za każdym razem ręcznie katalogu i zdjęcia. PHP skrypt powinien sam listować pliki ze zdjęciami i wybierać ten plik, ze zdjęciem który jest mu potrzebny w danej chwili do danego produktu.
Podam przykład Ci jak wygląda ich plik XML - tzn. struktura XML

Z tego co czytałam i zrozumiałam powinno być polecenie $scandir by listował katalog i podkatalogi.

Wrzucam skrypt php z którego korzystałam jak ściągałam na samym początku plik XML

Skoro masz pełne ścieżki z xml to w czym problem? Odczytaj xml, wybierz wartość z węzła w którym jest ścieżka do zdjęcia a następnie nawiąż połączenie ftp i pobierz ten plik

Dzięki za pomoc, ale sprawa jest troszkę bardziej skomplikowana. Raczej nie obejdzie się bez specjalisty od PHP.

Jasne, w razie czego pisz - odpłatnie też będę w stanie pomóc :slight_smile: robiłem już kilka tego typu integracji w PHP

Co tu skomplikowanego? @hindus ma rację, pobrać XML i pobierać pliki na podstawie ścieżek odczytanych z niego.
Chyba, że chcesz pobrać wszystkie zdjęcia (bo np może być ich więcej niż używa XML) w tedy musisz sobie przeskanować sobie jakie masz katalogi w media i jakie pliki w nich się znajdują - ftp to umożliwia, i na podstawie tych danych pobrać zdjęcia.