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

IP Kamera Bilder von FTP Server auf Website anzeigen

muttergottes

Neues Mitglied
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
 
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?
 
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?
 
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 ?
 
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
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.
 
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!
 
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.
 
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);

?>
 
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.
 
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!
 
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 ?
 
Zurück
Oben