IP Kamera Bilder von FTP Server auf Website anzeigen

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

muttergottes

Neues Mitglied
13 September 2021
8
0
1
Hallo zusammen,

ich habe eine IP Kamera die alle 5 Minuten ein aktuelles Bild auf einen FTP Server hochlädt.
Die einzelnen Tage sind jedoch in einem einzelnen Ordner.
Ich würde gerne auf einer Website jeweils das aktuellste Bild anzeigen lassen.

Kann mir hier jemand bei der Umsetzung helfen?

Ganz liebe Grüße
 

muttergottes

Neues Mitglied
13 September 2021
8
0
1
etwa wie in diesem thread:
 

basti1012

Senior HTML'ler
26 November 2017
1.687
177
63
Minden
basti1012.de
Klar.
Was hast du den bis jetzt gemacht?
Wird schon was angezeigt?
Wie auch immer.
Falls du die Bilder mit PHP holen möchtest , musst du dir den Link / Pfad zum täglichen Ordner zusammen bauen .
Das geht mit Javascript genauso gut.
Deswegen sollten wir wissen, was du schon gemacht hast , oder was du vorhast genau?
 

muttergottes

Neues Mitglied
13 September 2021
8
0
1
Vielen Dank für die zügige Antwort, bisher habe ich noch gar nichts.
Ich würde gerne die Bilder, welche alle X Minuten auf einen FTP hochgeladen werden auf einer Website am besten als HTML anzeigen.

Kannst du mir hier helfen?
 

basti1012

Senior HTML'ler
26 November 2017
1.687
177
63
Minden
basti1012.de
Dazu müsste man wissen, was du nutzen willst?
PHP oder Javascript.
Je nachdem wann oder wie die Bilder erstellt werden , kann man sie dann auch anzeigen.
Werden die Dateinamen von der Kamera erstellt?
Sind das immer die gleichen Zeiten , bzw. Dateinamen?
Wenn das immer die gleichen Dateinamen sind , dann kann man das mit Javascript machen.
Sind das wechselte Zeiten / Dateinamen , sollte man PHP nutzen .
Mit PHP kann man den Ordner auslesen und immer das letzte Bild (Erstellungs-Datum ) anzeigen lassen .
Wie sehen den die Pfade / Links zu den Bildern aus ?
 

muttergottes

Neues Mitglied
13 September 2021
8
0
1
Guten Morgen,
die Bilder werden immer wechselnd je nach Uhrzeit gespeichert, genauso wie auf den Bildern zu sehen :-)
Lieben Dank
 

Anhänge

  • Bildschirmfoto 2021-09-14 um 09.49.10.png
    Bildschirmfoto 2021-09-14 um 09.49.10.png
    145 KB · Aufrufe: 11
  • Bildschirmfoto 2021-09-14 um 09.48.53.png
    Bildschirmfoto 2021-09-14 um 09.48.53.png
    77,1 KB · Aufrufe: 10
  • Bildschirmfoto 2021-09-14 um 09.49.00.png
    Bildschirmfoto 2021-09-14 um 09.49.00.png
    28,8 KB · Aufrufe: 10

tk1234

Aktives Mitglied
2 September 2020
133
28
28
die Bilder werden immer wechselnd je nach Uhrzeit gespeichert, genauso wie auf den Bildern zu sehen :-)
Dann musst du serverseitig arbeiten, mit HTML alleine (bzw. auch in Kombination mit Javascript) kommst du nicht weit. Das sollte sich mit einem kleinen PHP-Script mit zwei Aufrufen von scandir() relativ einfach lösen lassen: erst die Verzeichnisse auslesen und dort aus dem jüngsten die Bilder einlesen und das jüngste ausgeben, fertig.
 

tk1234

Aktives Mitglied
2 September 2020
133
28
28
Kannst du mir hier helfen, wie so ein Skript aussehen könnte ?
Ein fertiges Script wirst du von mir nicht bekommen und wie du das richtige Bild ermittelst habe ich bereits geschrieben - jetzt bist du dran das in Code umzusetzen (wenn du nicht weiterkommst kannst du natürlich gerne nochmal nachfragen, aktuellen Code nicht vergessen).

Einen Hinweis noch: das Script wird direkt über ein img-Element eingebunden: <img src="script.php" alt="…">, das Script liefert das Bild mit readfile() an den Browser und gibt vorher noch den passenden Content-Type-Header aus. Wichtig: sonst darf das Script *nichts* ausgeben, *nur* das Bild+Header!
 

Sempervivum

Senior HTML'ler
18 Oktober 2016
2.512
478
83
68
Ich empfehle eher die Verwendung der Funktion glob weil sie automatisch .. und . ausschließt und das Ergebnis sortiert. Damit wird das Skript dann ziemlich simpel:
Code:
<?php
$dirs = glob('images/[0-9]*', GLOB_ONLYDIR | GLOB_MARK);
$latestDir = end($dirs);
$imgs = glob($latestDir . '*.jpg');
$latestImg = end($imgs);
echo '<img src="' . $latestImg . '">';
?>
Füge das dort ein wo das Bild angezeigt werden soll.
 

tk1234

Aktives Mitglied
2 September 2020
133
28
28
ok, wie rufe ich den scandir von einem FTP auf. Ich muss mich ja irgendwie verbinden?
Wo liegen die Bilder und wo das Script bzw. die Seite die aufgerufen werden soll? Die Bilder sollten bereits auf dem gleichen Server liegen wie das Script. Theoretisch kannst du zwar auch eine FTP-Verbindung aufbauen, das bei jedem Seitenaufruf zu machen ist aber wenig sinnvoll.
Damit wird das Skript dann ziemlich simpel:
Was soll das schon wieder? Kannst du es nicht einfach mal sein lassen fertige Lösungen zu posten? Zumal das ungültiges HTML ist: img *muss* ein alt-Attribut haben.
 

muttergottes

Neues Mitglied
13 September 2021
8
0
1
Hallo an euch beide.

Ich habe alles hinbekommen. Vielen Dank an beide.
Anbei das funktionierende Skript.

Ps. um das Bild vernünftig anzuzeigen, hab ich eine html Datei erstellt.


HTML:
<img src="kamera.php", width='1080' height='720'>

PHP:
<?php

$heute = date("Ymd");
$dir    = "{$heute}/images/";


$files1 = scandir($dir, SCANDIR_SORT_DESCENDING);

$image = "{$dir}{$files1[0]}";


header('content-type: image/jpg');

readfile($image);

?>
 

tk1234

Aktives Mitglied
2 September 2020
133
28
28
Anbei das funktionierende Skript.
noch ein paar Kleinigkeiten: in deinem img-Element ist ein Komma zu viel und bei PHP-Dateien solltest du dir angewöhnen das ?> am Ende weg zu lassen wenn du dann nicht HTML ausgeben willst - damit verhinderst du dass versehentlich Leerzeichen o.ä. ausgegeben werden. Bei der Zeile $image = "{$dir}{$files1[0]}"; würde ich die Anführungszeichen weglassen: $image = $dir.$files1[0]; - auch bei $dir weiter oben würde ich $heute nicht innerhalb der doppelten Anführungszeichen setzen, falsch ist das aber nicht.

Du solltest dir auch noch Gedanken darüber machen was passiert bzw. passieren soll wenn es vom aktuellen Tag noch kein Bild gibt: dann schlägt scandir() nämlich mit einer Fehlermeldung fehl.
 

muttergottes

Neues Mitglied
13 September 2021
8
0
1
Mir ist noch eine frage gekommen.
Wie kann ich es realisieren, dass eine Html Seite mit Passwort gesichert ist?
parallel soll man über einen Button auf einer anderen Seite zu dieser Seite weitergeleitet werden, hier soll das passwort aber schon übermittelt werden.
Wenn man über den button kommt, soll man kein Passwort eingeben müssen.
VorAb danke für die Unterstützung!
 

amimichael

Neues Mitglied
24 September 2021
3
0
1
58
Lüdenscheid
www.ami1.net
Selbiges Problem, komme auch nicht weiter.
Meine Kamera legt die Bilder im FTP Verzeichnis cam , dann in den Unterverzeichnissen z.b. 2021 /09 /24 ab.
Jeden Tag, ein neues Tagesverzeichnis, jeden Monat ein Monatsverzeichnis. ... die Bilder dann mit Namen z.b. Camera1_01_20210323153223.jpg

Mit php hab ich keine Erfahrung, den Code habe ich mir "zusammen-geklaut".

<?php

$dirsj = glob(/[2021-2022]*', GLOB_ONLYDIR | GLOB_MARK);
$jlatestDir = end($dirsj);

$dirsm = glob($jlastDir/[00-12]*', GLOB_ONLYDIR | GLOB_MARK);
$mlatestDir = end($dirsm);

$dirst = glob ($mlastDir/[00-31]*', GLOB_ONLYDIR | GLOB_MARK);
$tlastDir = end($dirst);

$images = glob($tlatestDir . '*.jpg');


echo '<img src="' . end($images) . '">';
?>


Könnt ihr mir bitte weiterhelfen ?
 
Werbung:

Neueste Beiträge