Daten auf externen Serverplatz speichern

annalena49

Mitglied
Hallo,

ich habe ein Script welches mir externe Daten downloadet und in einem vorgegebenen Verzeichnis lokal speichert.
Dies klappt recht gut. Nun sollen die Daten jedoch nicht mehr lokal sondern auf einem externen Speicherplatz abgelegt werden und dies klappt nicht mehr.
PHP:
//hat bisher gut funktioniert
  #$bild_ordner = "../bilder";
  #$bild_ordner_klein = "../bilder/klein";
 
//jetzt als externe URL senden (aber hier testhalber noch die gleichen Verzeichnisse):
  $img_ordner = "http://www.externe_domain.de/bilder";
  $img_ordner_klein = "http://www.externe_domain.de/bilder/klein";

Bei der Ziel-Angabe über HTTP entstehen eine ganze Anzahl von Fehlermeldungen obwohl es in diesem Falle noch genau die gleichen Verzeichnisse sind:

Warning: fopen(http://www.externe_domain.de/bilder/01039.jpg) [function.fopen]: failed to open stream: HTTP wrapper does not support writeable connections. in /var/www/web12/html/imp.php on line 24

Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/web12/html/imp.php on line 25

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/web12/html/imp.php on line 26

Warning: getimagesize(http://www.externe_domain.de/bilder/01039.jpg) [function.getimagesize]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /var/www/web12/html/imp.php on line 36

Warning: Division by zero in /var/www/web12/html/imp.php on line 40

Bedeutet, per HTTP wird mein Ziel nicht akzeptiert. Was kann ich machen?
mfg
annalena
 
Hi,

eigendlich stehts ja schon in der Fehlermeldung:
Code:
HTTP wrapper does not support writeable connections

Verantwortlich dafür ist die php.ini Einstellung allow_url_fopen, was aber auch in der Beschreibung von fopen() nachzulesen ist.

Diese Einstellung kannst du nur in der php.ini selbst ändern, also nicht über ini_set().

Die meisten Freehoster die ich kenne haben das leider deaktiviert.

Die nachfolgenden Fehler sind dann wiederum das Resultat der gescheiterten fopen()-Verbindung.
 
Zuletzt bearbeitet:
Hi,

eigendlich stehts ja schon in der Fehlermeldung:
Code:
HTTP wrapper does not support writeable connections

Verantwortlich dafür ist die php.ini Einstellung allow_url_fopen, was aber auch in der Beschreibung von fopen() nachzulesen ist.

allow_url_fopen ist ja eingeschaltet, sonst würde die Fehlermeldung anders lauten. Die Fehlermeldung sagt aus, dass über den HTTP-Wrapper keine schreibbare Verbindung aufgebaut werden kann.

@annalena: Du könntest mal versuchen, die Daten mit Hilfe der ftp-Funktionen hochzuladen.

LG
 
Hallo,

warum downloadest du die Bilder nicht gleich auf Server2 oder uploadest sie auf den selben? Dann hast du auch keinen Stress mehr oder mußt eine ftp Connection aufbauen oder sonstwas. Die Upload Funktion kannst du doch als Iframe einbinden und auf Server2 machst du die jeweiligen Überprüfungen, damit nicht jeder einen Upload machen kann. Diese Variante ist auf alle Fälle nicht so Traffic intensiv, als Dateien ständig hin und her zu schieben. Brauchst du eine Datenbankverbindung zu Server1, dann nutze am Besten einen SSH Tunnel. Damit reagiert Server1 nur auf localhost connection, also kein TCP von außen.

Gruss
 
Zurück