{"id":1051,"date":"2012-12-26T20:00:09","date_gmt":"2012-12-26T19:00:09","guid":{"rendered":"http:\/\/www.beathis.ch\/cgi\/Wordpress\/?p=1051"},"modified":"2012-12-26T20:00:09","modified_gmt":"2012-12-26T19:00:09","slug":"anzeigen-des-neusten-bildes-einer-webcam-auf-einer-webseite","status":"publish","type":"post","link":"https:\/\/www.beathis.ch\/cgi\/Wordpress\/?p=1051","title":{"rendered":"Anzeigen des neusten Bildes einer Webcam auf einer Webseite"},"content":{"rendered":"<p><span style=\"text-decoration: underline;\">Aufgabenstellung<\/span><\/p>\n<p>Meine neue Webcam (Planet ICA-HM136) kopiert in einem einstellbaren Abstand (typisch alle 5 Minuten) ein Bild auf meinen FTP-Server, auf dem auch meine Webseite l\u00e4uft. Leider generiert die Webcam mit jedem neuen Bild einen neuen Dateinamen mit Datum und Uhrzeit (z.Bsp. WEBCAM-20121226-180630.jpg). Die Webseite kann aber nur ein Bild mit immer gleichem Namen anzeigen (z.Bsp. webcam.jpg).<\/p>\n<p>Wie also kann ich nun das letzte Bild vollautomatisch umbenennen, so dass es die Webseite anzeigen kann ?<\/p>\n<p>Eine Anfrage beim Hersteller Planet war leider nicht erfolgreich. Die Firmware kann Datum+Zeit nicht im Dateinamen ausblenden.<\/p>\n<p><span style=\"text-decoration: underline;\">Die L\u00f6sung mit PHP-Skript und Crontab<\/span><\/p>\n<p>Meine Webcam speichert die Bilder auf dem FTP-Server im Verzeichnis &#8222;html\/camera&#8220;.<\/p>\n<p>Ins gleiche Verzeichnis kopierte ich das folgende PHP-Skript:<\/p>\n<p><a href=\"https:\/\/www.beathis.ch\/cgi\/Wordpress\/?attachment_id=1054\" rel=\"attachment wp-att-1054\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1054\" alt=\"PHP-Skript\" src=\"https:\/\/www.beathis.ch\/cgi\/Wordpress\/wp-content\/uploads\/2012\/12\/2012-12-26_19h45_13.png\" width=\"641\" height=\"205\" srcset=\"https:\/\/www.beathis.ch\/cgi\/Wordpress\/wp-content\/uploads\/2012\/12\/2012-12-26_19h45_13.png 641w, https:\/\/www.beathis.ch\/cgi\/Wordpress\/wp-content\/uploads\/2012\/12\/2012-12-26_19h45_13-300x95.png 300w\" sizes=\"auto, (max-width: 641px) 100vw, 641px\" \/><\/a><\/p>\n<p>Dieses Skript (<a title=\"Download\" href=\"https:\/\/www.beathis.ch\/download\/webcam.zip\">Download<\/a>) wechselt ins Verzeichnis mit den Webcam-Bildern und benennt alle vorhandenen Bilder in den Dateinamen &#8222;webcam.jpg&#8220; um. Da das neuste Bild als letztes umbenannt wird, ist dieses neuste Bild dann f\u00fcr die Anzeige auf der Webseite mit dem Namen &#8222;webcam.jpg&#8220; bereit.<\/p>\n<p>Die Funktionsweise kann bereits getestet werden, in dem man dieses Skript im Browser startet: https:\/\/meine-webseite\/camera\/webcam.php. Man kann das Skript mit &#8222;echo&#8220;-Anweisungen erg\u00e4nzen, wenn etwas nicht funktionieren sollte.<\/p>\n<p>Damit dieses Skript nun vollautomatisch auf der Webseite aufgerufen wird, muss es auf dem Webserver in den sog. Cron-Dienst eingetragen werden. Bei meinem Provider geht dies sehr komfortabel \u00fcber das Web-Interface:<\/p>\n<p><a href=\"https:\/\/www.beathis.ch\/cgi\/Wordpress\/?attachment_id=1057\" rel=\"attachment wp-att-1057\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1057\" alt=\"Crontab\" src=\"https:\/\/www.beathis.ch\/cgi\/Wordpress\/wp-content\/uploads\/2012\/12\/2012-12-26_19h52_39.png\" width=\"620\" height=\"130\" srcset=\"https:\/\/www.beathis.ch\/cgi\/Wordpress\/wp-content\/uploads\/2012\/12\/2012-12-26_19h52_39.png 620w, https:\/\/www.beathis.ch\/cgi\/Wordpress\/wp-content\/uploads\/2012\/12\/2012-12-26_19h52_39-300x62.png 300w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<p>Mit der Anweisung &#8222;*\/5&#8220; wird das Skript &#8222;webcam.php&#8220; alle 5 Minuten aufgerufen.<\/p>\n<p>M\u00f6chte man Fehler und allf\u00e4llige &#8222;echo&#8220;-Befehle speichern, kann man den Befehl wie folgt erweitern:<\/p>\n<p><a href=\"https:\/\/www.beathis.ch\/cgi\/Wordpress\/?attachment_id=1058\" rel=\"attachment wp-att-1058\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1058\" alt=\"Crontab\" src=\"https:\/\/www.beathis.ch\/cgi\/Wordpress\/wp-content\/uploads\/2012\/12\/2012-12-26_19h54_23.png\" width=\"794\" height=\"127\" srcset=\"https:\/\/www.beathis.ch\/cgi\/Wordpress\/wp-content\/uploads\/2012\/12\/2012-12-26_19h54_23.png 794w, https:\/\/www.beathis.ch\/cgi\/Wordpress\/wp-content\/uploads\/2012\/12\/2012-12-26_19h54_23-300x47.png 300w\" sizes=\"auto, (max-width: 794px) 100vw, 794px\" \/><\/a><\/p>\n<p>Die Ausgaben werden in der Log-Datei im gleichen Verzeichnis abgelegt.<\/p>\n<p>Nat\u00fcrlich muss man die Zeiten, Pfade und Dateinamen in diesem Beispiel an seine Umgebung anpassen. Probleme machte mir Crontab, weil der aktuelle Pfad im Skript nicht automatisch im Verzeichnis &#8222;html\/camera&#8220; stand.<span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:585,&quot;href&quot;:&quot;https:\\\/\\\/www.beathis.ch\\\/download\\\/webcam.zip&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20260210034939\\\/https:\\\/\\\/www.beathis.ch\\\/download\\\/webcam.zip&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-02-12 18:14:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-16 09:24:59&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-02-22 13:54:46&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-05-23 02:32:27&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-07-19 06:31:02&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-08-24 16:08:42&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-09-22 10:23:12&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-09-29 17:29:16&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-10-11 15:50:52&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-10-23 16:21:35&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-10-23 16:21:35&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aufgabenstellung Meine neue Webcam (Planet ICA-HM136) kopiert in einem einstellbaren Abstand (typisch alle 5 Minuten) ein Bild auf meinen FTP-Server, auf dem auch meine Webseite l\u00e4uft. Leider generiert die Webcam mit jedem neuen Bild einen neuen Dateinamen mit Datum und Uhrzeit (z.Bsp. WEBCAM-20121226-180630.jpg). Die Webseite kann aber nur ein Bild[&#8230;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[40,205],"tags":[207,212,209,211,206,208,210,64],"class_list":["post-1051","post","type-post","status-publish","format-standard","hentry","category-software","category-web","tag-anzeigen","tag-bild-umbenennen","tag-cron","tag-crontab","tag-neustes-bild","tag-php","tag-skript","tag-webcam"],"_links":{"self":[{"href":"https:\/\/www.beathis.ch\/cgi\/Wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1051","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.beathis.ch\/cgi\/Wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.beathis.ch\/cgi\/Wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.beathis.ch\/cgi\/Wordpress\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.beathis.ch\/cgi\/Wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1051"}],"version-history":[{"count":6,"href":"https:\/\/www.beathis.ch\/cgi\/Wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1051\/revisions"}],"predecessor-version":[{"id":1060,"href":"https:\/\/www.beathis.ch\/cgi\/Wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1051\/revisions\/1060"}],"wp:attachment":[{"href":"https:\/\/www.beathis.ch\/cgi\/Wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1051"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.beathis.ch\/cgi\/Wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1051"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.beathis.ch\/cgi\/Wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1051"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}