Support » Plugins » Plugin für Live reflash von Fotos am Server

  • Gelöst makso1982

    (@makso1982)


    Hallo

    ich hab da eine blöde Situation.
    Wir haben am See Webcam die auf unseren FTP Server der Homepage die Fotos hochlädt.
    Alles funkt tadellos. Alle 15min neues Foto.

    Die neue ABUS Cam kann extrem viel aber nur eine Sache nicht, und die wäre die Hochgeladenen Fotos immer zu ersetzten oder zu überspielen. Also immer der gleiche Name des Bildes.
    Somit ladet das Plugin NetCam nur das eine Foto was vergebene ist weil die anderen anders heißen.

    Video stream noch nicht möglich da die Internet Leitung zu schwach ist.

    Gibt es eine Plugin oder Code bei Netcam was besagt das im Ordern (XY) am Server die Fotos eins nach dem anderen geladen wird?

    Ich hoffe ich hab mich deutlich ausgedrückt.

    Dankeschön

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 24)
  • Eine einfache Lösung wäre, ein Script zu schreiben, dass kontrolliert, ob es ein neues Bild gibt und wenn ja, auf einen bestimmten Namen kopiert. Und dieses Script dann per Cron-Job regelmäßig aufrufen lassen.

    Moderator Bego Mario Garde

    (@pixolin)

    Wenn der Dateiname nach einem bestimmten Muster aufgebaut wird, könnte auch ein Shortcode erstellt werden, der den Bildnamen entsprechend generiert.

    Thread-Ersteller makso1982

    (@makso1982)

    Morgen,

    so die Datei heißen so:

    Zicksee_P11496164_20210607000441910_TIMING
    Zicksee_P11496164_20210607000941808_TIMING
    usw.
    Name + CamID + Datum + Uhrzeit
    Datum und Uhrzeit ändern sich immer. So schickt die Cam die Bilder auf dem Server.
    Namen der Bilder kann ich nicht umschreiben nicht machbar, also seitens Hersteller gesperrt.

    Shortcode schreiben da bin ich nicht der Weltmeister muss ich gestehen.

    Ein Plugin für so einen speziellen Fall kenn ich nicht wirklich.
    Du wirst daher net umhin kommen, dir jemanden zu suchen, der dir das schreibt.

    Ooooooooooder, du vertiefst dich ein bisschen in die Materie 🙂

    Ich gehe davon aus, dass die Bilder auf deinem Webserver im Unterverzeichnis webcam mit einem Timestamp abgelegt werden. Folgenden Coder fügst du entweder der functions.php deines Child-Theme hinzu oder erstellst mit dem Plugin Code Snippets ein neues Code-Snippet:

    add_shortcode( 'webcam', 'webcam_shortcode' );
    function webcam_shortcode() {
    	$files       = scandir( ABSPATH. 'webcam', SCANDIR_SORT_DESCENDING );
    	$newest_file = esc_attr( $files[0] );
    
    	return '<img id="webcam" src="' . get_home_url() . '/webcam/' . $newest_file . '" alt="Ein Bild von unserer Webcam.">';
    
    }

    Fügst du nun auf einer Seite den Shortcode [webcam] ein, wird ein Bild-Tag mit dem aktuellsten Bild eingebunden.
    Du solltest nicht vergessen, einen Cron-Job einzurichten, der ältere Bilder löscht, weil sonst rasch der Webspace mit Bildern überläuft.

    Das Bild wird nicht fortlaufend (sondern erst bei erneutem Laden der Webseite) neu geladen – dazu wäre weiterer Code erforderlich. Bitte denk aber daran, dass es nicht unser Ziel ist, auf Zuruf solchen Code zu programmieren. Wenn du über die angebotenen Einstellungsmöglichkeiten hinaus Änderungen an deiner WordPress-Installation vornehmen möchtest, musst du dir entweder das nötige Grundwissen anlesen oder einen Dienstleister beauftragen. Ich habe mit dem Shortcode-Code (mehr im Sinne eines PoC) eine Ausnahme gemacht, werde das aber nicht weiter „verfeinern“ oder ausarbeiten.

    Thread-Ersteller makso1982

    (@makso1982)

    Hallo Mario,

    danke nochmals für den Code, war gerade selbst am tüfteln, aber irgendwas mache ich falsch.
    Die Seite wird alle 5 sec neu geladen, das Bild wird zwar angezeigt wird nicht erneuert, ein scriptfehler ist vorhanden.

    das wäre meine Code gewesen
    Siehst du den Fehler oder hab ich schon was an den Augen.
    Komme nicht dahinten. 🙁

    <html>
    <head>
    <meta http-equiv=“content-type“ content=“text/html; charset=utf-8″ />
    <meta name=“viewport“ content=“width=device-width, initial-scale=1.0″ />
    <meta http-equiv=“refresh“ content=“5;“ /></head>
    <body>
    <?php
    $dir = „webcam/“;
    $aktuell =“webcam/2021_06_07-2021_06_07/Zicksee.jpeg_P11496164_20210607000441910_TIMING.jpg“;
    $bilder = glob($dir . „*.jpg“);
    // var_dump($bilder);
    $mtime = 0;
    foreach ($bilder as $bild) {
    $mt = filemtime($bild);
    if ($mt > $mtime) {
    $mtime = $mt;
    $neuesbild = $bild;
    }
    }
    if (isset($neuesbild) && $neuesbild != $aktuell) {
    rename($neuesbild, $aktuell);
    }
    $bilder = glob($dir . „*.jpg“);
    // var_dump($bilder);
    foreach ($bilder as $bild) {
    if ($bild != $aktuell) unlink($bild);
    }
    $secs = time(5);
    ?>
    “ />
    </body>
    </html>`

    Und das der Link dazu

    https://www.xn--gemeinde-standr-flb.at/test_web/

    Ich hab dir doch fertigen Code zur Verfügung gestellt. Wieso nimmst du nicht den? 🙂

    Thread-Ersteller makso1982

    (@makso1982)

    Sorry wollte nur mein willen zeigen. Deinen Code kopiere gerade rein 🙂

    … und nein, der Code gehört nicht in die Seite.

    Plugin Code Snippets installieren, neues Snippet anlegen, dort den Code einfügen. In die Webseite fügst du dann nur [webcam] ein.

    Thread-Ersteller makso1982

    (@makso1982)

    weis ich war ein unabsichtliches copy paste fehler

    Ist noch ein bisschen diesig bei Euch, aber sonst wird das Bild ja jetzt angezeigt. 🙂

    Thread-Ersteller makso1982

    (@makso1982)

    jepp aber nicht das aktuelle 🙂

    Wie beschrieben:

    Ich gehe davon aus, dass die Bilder auf deinem Webserver im Unterverzeichnis webcam mit einem Timestamp abgelegt werden.

    Lösch oder verschieb doch mal die Datei zicksee_PE.jpg und schau, ob es dann funktioniert.

    Alternativ könnte auch nach Dateinamen abgerufen werden.

    Thread-Ersteller makso1982

    (@makso1982)

    Hab ich gerade gemacht, zicksee_PE.jpg gelöscht.
    Passieren tut jetzt nichts.
    Wobei jpg ist jpg.

    Schau gerade warum er nicht die neueste jpg nimmt,

    Thread-Ersteller makso1982

    (@makso1982)

    komischer Schmarrn aber jetzt läufts. Bild gelöscht dann lief es 🙂

    Mercy

Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 24)