Download auf den eigenen Server?!

Hallo,

ich habe ein PHP Script auf meinem Server liegen, welches in einem Schritt folgendes ausführen soll:

  1. Download einer XML Datei über einen Link
  2. diese Datei soll in den Ordner wo das PHP Script ausgeführt wird, also auf meinen Server

Problem:
Die Datei kann ich nur per Mausklick und Downloadfenster lokal ablegen :frowning:

Wofür ich das benötige:
Ich kann mir von einem Händler per Download die aktuellen Lagerbestände holen und möchte diese mit meinem Script auf Veränderungen durchsuchen. Die Änderungen soll dann mein PHP Script
per Mail an mich schicken. Das klappt natürlich nur wenn mein Script von allein diese Händlerdatei runterlädt und sie auch im richtigen Ordner auf meinem Server landet…

Hat jemand eine Idee???

Habe bis jetzt nur das gefunden:

Um sowas zu automatisieren brauchst du einen Linux Server der Cronjobs unterstützt. Wie das bei Windows geht weiß ich allerdings nicht.

LG favorite

Guten Tag,

das wäre kein Problem, meine Webside liegt auf einem Linux Server.
Hat jemand eine Idee???

Danke im Voraus
MfG Thomas

Moin moin!

Also erstmal ein bisschen was grundlegendes: Das PHP-Script wird beim Aufruf über den Browser vom Webserver geladen und an den PHP-Parser weitergereicht, dieser verarbeitet dann den PHP-Code und gibt die Rückgabe uzrück an den Webserver (also alles was außerhalb der PHP-Klammern (<?php ?>) steht oder per echo() & Co. ausgegeben wird), der den Inhalt dan an den Browser weiterleitet.

Wenn du nun einen Link anklickst, startest du einen Request an den in der URL angegebenen Webserver mit einer Dateianfrage. Die Antwort wird von deinem Browser verarbeitet.

Was du nun also machen müsstest: Du brauchst ein Script, das sich diese Datei herunterlädt, ggf. speichert und weiterverarbeitet. Das bedeutet aber, dass du dein Script mit dem Link aufrufen müsstest (zumindest vorerst), anstelle der XML-Datei, die verarbeitet werden soll.

Dein Script verarbeitet dann die XML-Daten und benachrichtigt dich per E-Mail, das könnte z.B: so aussehen:

<?php $sXml = file_get_contents ('http://www.domain.de/pfad/zur/datei.xml'); // XML-Datei auslesen<br />verarbeiteXml ($sXml); // Dies könnte deine Funktion sein, die die Mail verschickt
?\>

Dieses kleine Beispiel-Script parsed den XML-Code natürlich noch nicht, aber das jetzt hier auch noch alles zu implementieren… Ein bisschen was musst du schon noch selber machen :wink:

Wenn das Script per Aufruf mit dem Browser läuft und du deine E-Mail bekommst wie gewünscht, dann kannst du das Script per Cronjob aufrufbar machen. Voraussetzung hierfür ist allerdings die Möglichkeit einen Cronjob einrichten zu können, wofür in aller Regel ein Shell-Zugang zum Server notwendig wird. Wenn du den hast, dann kannst du den Cronjob in deine Crontab z.B. folgendermaßen einstellen:

* * * * * php /pfad/zum/script.php

Die genaue Erläuterung der einzelnen Felder und wie man einen Cronjob einrichtet solltest du bei der Suchmaschine deiner Wahl mal erfragen, das würde hier jetzt den Rahmen sprengen. Der obige EIntrag würde dein Script jedenfalls jede Minute automatisch ausführen. Wichtig ist hier allerdings das „php“ vor der Script-Pfad-Angabe, da das der PHP-Interpreter ist, der dafür sorgt, dass das angegebene Script überhaupt verarbeitet wird.

Ich hoffe das konnte dir ein wenig helfen!?

MfG
Lutz