Existenz entfernter Dateien prüfen
ralphi
- php
Hallo zusammen,
folgendes Problem:
Ich benötige die Schnittmenge (Namen) der Dateien zwischen einem lokalen Server und einem entfernten Server.
Normalerweise würde ich mit:
if (file_exists($urldatei)) {....
arbeiten. oder die dateien temporär copieren mit:
$handle=opendir($urlpfad);
while (false !== ($file = readdir ($handle))) {....
leider funktionieren beide befehle nur bei localen dateien.
copy($filenameweisich, $filelokal);
funktioniert. d.h. 'url-fopen-wrapper' ist ON
kennt jemand einen befehl, der mir ein OK gibt, wenn die entfernte Datei existiert?
grüße ralphi
Hi,
kennt jemand einen befehl, der mir ein OK gibt, wenn die entfernte Datei existiert?
da Du von Dateien redest, ist es ausgeschlossen, dass Du HTTP-URLs meinst. Ich nehme also an, Du redest von FTP. Die verschiedenen Funktionen, die Dir hierbei helfen können, findest Du in der Dokumentation.
Cheatah
hi Cheatah,
leider gehts nur über http auf den server
ralphi
Hi,
leider gehts nur über http auf den server
HTTP kennt kein Konzept namens "Datei". Es ist nicht möglich, über dieses Protokoll zu erfahren, ob ein Server eine Datei zur Verfügung hat, sofern dieser Server nicht eigens dafür eine Schnittstelle bereit hält. Baue also eine solche.
Cheatah
Hi,
leider gehts nur über http auf den server
die Dateien (Abstraktionsebene Dateisystem) werden im http-Kontext manchmal zu "Ressourcen". Du kannst doch eine http-Ressource adressieren und schaun, ob die Ressource verfuegbar ist oder ob Du einen Fehlercode kriegst.
Gruss,
Ludger
Hi Ludger,
danke für die Antwort.
so genau weis ich nicht was Du mit:
Du kannst doch eine http-Ressource adressieren ...
meinst.
Kannst Du mir das verbeispielen?
mit copy($file, $filehome); bekomme ich zwar auch Fehlermeldungen wenn die datei nicht existiert und lass das prog weiterlaufen. aber der timeout ist sehr kurz. beim ca. 20'ten copy bricht er ab.
Der copy befehl funktioniert (mit http url) wenn ich den dateinamen weis. von dem her wunderts mich, dass es keine weiteren http tauglichen befehle geben soll.
grüße ralphi
Hi,
Der copy befehl funktioniert (mit http url) wenn ich den dateinamen weis. von dem her wunderts mich, dass es keine weiteren http tauglichen befehle geben soll.
es gibt da etwas in PHP, das auf den Namen curl (oder so aehnlich) hoert. Damit kannst Du http-Ressourcen laden. Eventuell musst Du das genannte PHP-Modul noch per zugehoerigen Konfigurationsdatei "aktivieren".
Gruss,
Ludger