automatisches abspeichern einer sich täglich neu-generierenden Grafik im Web | Möglich?

  • geschlossen
  • PHP

  • Feinschnitt
  • 3582 Aufrufe 26 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • automatisches abspeichern einer sich täglich neu-generierenden Grafik im Web | Möglich?

    Hallo fsb´ler! :)

    Habe ein Problem,...

    und zwar geht es um eine sich täglich verändernde Karte von einem Onlinespiel welche sich täglich um 01:00Uhr aktualisiert/neu generiert und welche ich mir jeden Tag abspeichern lassen möchte. :rolleyes:

    Bin aber nicht immer jeden Tag online, bzw. vergesse ich manchmal zu speichern. Gibt es eine schlaue Möglichkeit evtl. ein Script zu schreiben welches mir die Grafik täglich auf einem Server abspeichert? :ööm:

    Könnte das jemand? Falls sich absolut keine Möglichkeit für die Umsetzung mit dem Server findet, würde auch ein Programm welches diese Arbeit für mich abnimmt reichen.

    Würde mich riesig freuen wenn ich hier Hilfe bekommen könnte. :D

    @Mods
    Weiß nicht genau in welchen Bereich es passt... ggf. verschieben! =thx


    Danke und Liebe Grüße :bier1:
    :thumbsup: <3 F R E E S O F T B O A R D <3 :thumbsup:
  • Hi,
    Server gehört ins HowTo - je nachdem, ob dir ein Cronjob mit PHP/Perl reicht ins PHP/Perl-Forum oder Eigener Server oder Coding :D

    @topic:
    Würde dir zum Cronjob raten [Falls dein Server das unterstützt] das ganze dann mit einer PHP-Datei verbunden, die in etwa so aussieht

    PHP-Quellcode

    1. <?php
    2. $im = file_get_contents('http://ziel.de/bild.png') OR die('Konnte keine Verbindung zu ziel.de aufbauen');
    3. $fh = fopen('./images/'.date('Y_m_d').'.png','w');
    4. fwrite($fh,$im);
    5. fclose($fh);
    6. echo 'Alles Schick!';
    7. ?>

    Das dürfte reichen.

    Natürlich sollte die Option allow_url_fopen in der php.ini auf 1 stehen ;)

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Broken Sword ()

  • Einen wunderschönen guten Morgen Broken!

    Danke für die schnelle Antwort ;)

    Bin leider ein abs. Laie was das programmieren angeht. Deutsch, Englisch und ein bisschen HTML... da hören meine Kenntnisse aber schon auf...

    wäre es möglich einen kostenlosen Server zu finden bei dem ich mit eurer Hilfe dies alles einstelle? Würde mich alles sehr interessieren.

    LG
    :thumbsup: <3 F R E E S O F T B O A R D <3 :thumbsup:
  • Also Cronjob ist kein Thema, da gibt es auch Services, wie Free cron jobs on demand
    Webspace hast du die Qual der Wahl: freesoft-board.to/f25/info-free-webspace-28688.html
    Da jedoch allow_url_fopen aktiviert sein muss, würde ich dir einfach mal Free Web Hosting Area empfehlen. 1,5GB Space sollten ja reichen (solltest dann halt ab und an die Bilder alle zu dir rüber ziehen)

    Jo, das sollte ja für den Anfang genügen :D

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Broken Sword ()

  • Pack das Script rein (habe es verändert) und erstelle einen Ordner "images" mit den Rechten (CHMOD) 777

    Dann bei dem Cronjob-Service anmelden, Domain akzeptieren lassen, Cronjob erstellen und es sollte laufen ^^
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • Wie oder wo melde ich mich denn bei diesem Cronjob Service an??? Steh bissle aufm Schlauch ;)

    hier, so siehts aus im kontrollzentrum: img3.imagebanana.com/img/zk3u6int/manage.png

    Danke für die PN!

    Also ich hab jetzt bei Free cron jobs on demand mich angemeldet und möchte die URL hinzufügen aber er sagt mir:
    Only domains and subdomains are accepted


    Die URL sieht so aus:

    PHP-Quellcode

    1. http://feinschnitt.freevar.com/datei.php



    edit:
    lösung:
    musste doch nur die domain eingeben ohne feinschnitt.php

    edit2

    dann hab ich die bestätigungs .txt mit der Nummer erstellt und überprüfen lassen. Hat geklappt.

    Nun in den Einstellungen von OCJ den Ort zur .php angegeben. Und eine Zeit eingestellt wann der Job ausgeführt werden soll. Hab direkt mal 21:30 genommen wobei die Zeit nicht die war die wir aktuell haben. Muss mal nachschauen ob man das nicht iwo einstellen kann.

    Aber warum muss ich da in den Settings bei Onlinecronjobs nochmal einstellen wann der job ausgeführt werden soll? Steht das nicht schon on der php drin? Naja... newbie halt ^^

    Grad abgewartet und siehe da, ....... ES KLAAAAAAPT :hit::tata::drum:

    Servus nochmal :)

    Problem ist, dass die Grafik die sich eig jeden Tag erneuern soll, immer die gleiche ist.

    Woran kann das liegen?
    :thumbsup: <3 F R E E S O F T B O A R D <3 :thumbsup:

    Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von Broken Sword () aus folgendem Grund: Doppelpost

  • Hi,
    ändert sich denn jeden Tag auch der Name der Datei?

    Gruß
    Broken Sword

    btw. Doppelpost sind so nicht gestattet => Regeln lesen!
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Broken Sword ()

  • Nein der Name der Grafik bleibt jeden Tag der gleiche

    Aber kann es sein dass wenn ich im Menü der Karte bin und dort auf "Anzeigen" klicke er mir erst die Karte generiert? Aber wäre auch komisch da wenn ich die Karte in anderen Foren reinhaue img.grafikurl.img wird sie auch immer aktuell gehalten. Bille komisch neh?
    :thumbsup: <3 F R E E S O F T B O A R D <3 :thumbsup:
  • Hmmm... also es kann auch sein, dass der Webhoster die Datei zwischenspeichert, damit mehrmaliges Abrufen von ein und der selben Datei nicht so viel Traffic kostet.
    Ist es denn jetzt immer noch die Grafik vom ersten Tag? Dann einfach mal in der ersten Zeile das ersetzen

    Quellcode

    1. file_get_contents('http://ziel.de/bild.png?'.time())


    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • Also ich hatte es 3 Tage laufen lassen und hatte 3 mal die gleiche Grafik aufm Server. Bin dann auf die Seite gegangen wo man die Karte generieren kann und hab nochmal auf "Anzeigen" geklickt was man auch immer machen muss.

    Kannste dir ja mal angucken:

    dsReal Weltkarte

    Naja und als er die aktualisiert hatte war sie am nächsten Tag auch aufm Server wieder aktuell. Ich Frage mich nur wieso ich die in Grafik in verschiedenen Boards packen kann und die User dort immer eine aktuelle Karte sehen.


    Was bewirkt denn der Code oben?

    edit: mit dem zwischenspeichern kann natürlich sein,... einfach mal das von oben einfügen und gucken was passiert gell .. ^^
    :thumbsup: <3 F R E E S O F T B O A R D <3 :thumbsup:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Feinschnitt ()

  • Okay, also hängt es nicht mit dem Server zusammen (kannst du meinen letzten Post ignorieren)

    Jedoch frage ich mich, woher du die Karten-URL hast - ich habe nur das hier gefunden:

    Quellcode

    1. http://www.dsreal.de/showMap.php?id=55711&key=8007288e00179926d448870f63f5bcdd&time=1287309588

    Sprich eine PHP-Datei, die das Bild generiert. Das, was du da hast, ist dann wahrscheinlich nur der Cache des Bildes.

    Sprich ändere deine PHP-Datei mal in

    PHP-Quellcode

    1. <?php
    2. $im = file_get_contents('http://www.dsreal.de/showMap.php?id=55711&key=8007288e00179926d448870f63f5bcdd&time='.time()) OR die('Konnte keine Verbindung zu dsreal.de aufbauen');
    3. $fh = fopen('./images/'.date('Y_m_d').'.png','w');
    4. fwrite($fh,$im);
    5. fclose($fh);
    6. echo 'Alles Schick!';
    7. ?>


    Das sollte dann auch klappen.

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • Stimmt, uff.... erledigt ja das Script auch automatisch. Ok sieht gut aus bis jetzt. Heißt paar Tage warten und dann sehen wir das Ergebnis. Hatte schon zum Test versucht nen zweiten Cronjob zu legen aber irgendwie hat es nicht geklappt. Hatte ein zweites abgeändertes Script hoch geladen. Nen neuen Cronjob erstellt, Pfad alles stimmte,... auch nen images2 Ordner hatte ich erstellt und diesen in der .php abgeändert. Will aber nix speichern.

    Und noch was,... Die Zeit in der Umbenannt wird. Die Zeit der .png File kann ich auch ne Uhrzeit dran hängen... ich glaub es war 'Y_m_d_-_H_i' right?
    :thumbsup: <3 F R E E S O F T B O A R D <3 :thumbsup:
  • 1. Nein hatte ich jetzt nicht dran gedacht, aber danke für die Idee...#

    2. Du machst mich neugierig!

    3. Bist ein echter Freund und ein Klasse Mod! :D

    edit:

    Alles anklicken bei Rechte?


    Owner: Read [] Write [] Execute []
    Group: Read [] Write [] Execute []
    Everyone: Read [] Write [] Execute []


    Chmod value [dreistellige Zahl]
    :thumbsup: <3 F R E E S O F T B O A R D <3 :thumbsup:

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Feinschnitt ()

  • Ich hab jetzt den hier genommen: eu5org

    Irgendwelche bedenken?

    edit:

    habs soweit wieder eingerichtet bekommen.

    Sehr einfach wenn man es schon mal gemacht hat. ^^

    Danke für die Hilfe, ... hoffe der freevar kommt noch mal on und ich kann meine Karten downloaden :D

    edit2:

    Wenn ich den Dateinamen mit Datum und Uhrzeit definiere (Y.m.d_-_H:i) = (2010.10.26_-_09:46) wird aber eine andere Zeit ausgegeben als hier in Deutschland ist [16:45Uhr].

    Ich schau am besten mal, ob man eine Zeit vergeben kann die einer Zeitzone zugehört.

    Hast mir doch da die php Hilfeseite gegeben. ;)
    :thumbsup: <3 F R E E S O F T B O A R D <3 :thumbsup:

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von Feinschnitt ()