Bild von anderem Server auf meinen Server kopieren
Maike
- php
0 André Laugks0 André Laugks0 Maike0 André Laugks0 Maike
Hallo zusammen,
kann mir jemand sagen, wie ich ein bestimmtes Bild (http://fremderserver.de/bild.jpg) mit einem PHP-Skript auf meinen Server kopieren kann?
Das Bild ist eine Webcam und ich habe die Erlaubnis es zu nutzen. Ich habe vor eine Chronologie zu erstellen, d.h. mit einem CronJob soll das Bild jeden Tag von dem fremden Server geholt werden und dann in einem Verzeichnis gespeichert werden. Der Name der Bilddatei soll durch das jeweilige Datum ersetzt werden.
Danke für Eure Hilfe,
Maike M.
Hallo!
kann mir jemand sagen, wie ich ein bestimmtes Bild (http://fremderserver.de/bild.jpg) mit einem PHP-Skript auf meinen Server kopieren kann?
Dafür ist die FTP-Erweiterung (http://www.php.net/manual/de/ref.ftp.php) bestens geeignet. Vorausgesetzt, Dein Provider hat sie aktiviert.
MfG, André Laugks
Dafür ist die FTP-Erweiterung (http://www.php.net/manual/de/ref.ftp.php) bestens geeignet. Vorausgesetzt, Dein Provider hat sie aktiviert.
Natürlich nur, wenn Du die Zugangsdaten zu diesen fremden Server hast.
Ansonsten geht es so:
$externe_datei = "http://fremderserver.de/bild.jpg";
// externe Datei auslesen
$fp=fopen($externe_datei, "r");
$bild = fread($fp, filesize($externe_datei));
fclose($fp);
// Datei erstellen + schreiben
$fp = fopen("bild.jpg", "w");
fwrite($fp, $bild, strlen($bild));
fclose($fp);
Dazu muß aber "fopen wrappers" aktiviert sein.
siehe dazu:
http://de3.php.net/manual/de/function.fopen.php
http://de3.php.net/manual/de/function.readfile.php
MfG, André Laugks
Hi,
ich denke die zweite Methode ist die für mich passende,
allerdings gibt es einen Fehler, wenn ich mit filesize() die Größe einer externen Datei bestimmen will.
Ich brauche aber diese Parameter für fread - was kann ich da machen???
LG Maike
// externe Datei auslesen
$fp=fopen($externe_datei, "r");
$bild = fread($fp, filesize($externe_datei));
fclose($fp);
$array = file($externe_datei);
for($x=0;$x<count($array);$x++)
{
$bild .= $array[$x];
}
Wenn ichs so mache, klappt es, aber das Bild ist irgendwie nicht ganz in Ordnung ????
Hallo!
allerdings gibt es einen Fehler, wenn ich mit filesize() die Größe einer externen Datei bestimmen will.
1. Kannst Du die Datei mit fopen() öffnen?
2. Was gibt den die Funktion filesize() aus?
$array = file($externe_datei);
for($x=0;$x<count($array);$x++)
{
$bild .= $array[$x];
}Wenn ichs so mache, klappt es, aber das Bild ist irgendwie nicht ganz in Ordnung ????
Wieso verwendest Du file()?
MfG, André Laugks
Hi,
- Kannst Du die Datei mit fopen() öffnen?
Ja, das klappt! Mein Anbieter hat das auch aktiviert.
- Was gibt den die Funktion filesize() aus?
Die Funktion sagt, dass die Datei auf den Server nicht gefunden wird - habe unter selfphp4.de auch nichts gelesen, dass mann filesize() auch für externe Dateien nutzen kann ????
Wieso verwendest Du file()?
Das habe ich mal irgendwo im WWW gefunden - allerdings zum Auslesen von Textdateien ...
Danke nochmal, dass Du mir hilfst. Wäre toll, wenn meine Idee irgendwie klappen könnte.
GLG Maike
P.S. Deine FTP-Version läuft leider nicht ... ist nicht aktiviert auf meinem Server.