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

Überschreibung Dateinname bei Upload auf FTP Server

Status
Für weitere Antworten geschlossen.
Hallo m.scatello,

vielen Dank. Was macht jetzt Dein Skript? Ist das ein Cron-Job? Sorry, aber ich bin absoluter Laie.

Wo muss ich das Skript installieren?

"Und falls man auf dem Server keinen Cronjob einrichten kann: https://www.cronjob.de/".

Wie schon oben geschrieben, habe ich bei T-Online das Basic-Paket ohne Unterstützung von Cron-Jobs.

Könnte ich dennoch Cron-Jobs mit dem Basic-Paket und mit www.cronjob.de nutzen?

Wo wird das installiert?
 
Du kannst auf Cronjob.de einen Cronjob einrichten, der das Script auf deinem Server in regelmäßigen Abständen aufruft.

Ganz ehrlich? Du solltest dir dringend die nötigen Grundlagen aneigenen, oder willst du weiterhin so rumstolpern?
 
Hier nochmal das Script mit Kommentaren, damit du eventuell verstehst, was da passiert:
PHP:
<?php
 
    // Funktion zum lesen der Dateinamen und Zeitstempel
    function getFiles($dir, $exclusions)
    {
       $result = array();
      
       // Dateinamen einlesen   
       $files = glob($dir . "*.jpg");
  
       // Dateinamen und Zeitstempel
       foreach ($files as $file)
       {
         // Wenn die Datei nicht in den Ausschlüssen ist
         if (! in_array($file, $exclusions))
            $result[$file] = filemtime($file);
       }
    
       /* Das Array sieht an dieser Stelle jetzt so aus:       
       array( 'dateiname1' => 'zeitstempel1',
              'dateiname2' => 'zeitstempel2',
              'dateiname3' => 'zeitstempel3',
              etc...
             )
       */
      
       // jetzt das Array sortieren
       natsort($result);
  
       // Array zurueckliefern
       return $result;
    }
 
    // Aktueller Dateiname
    $aktuell ="webcam/aktuelles-bild.jpg";
 
    // Verzeichnis
    $dir = "webcam/";
 
    // Dateinamen, die nicht berücksichtig werden sollen, in diesem Fall nur eine
    $exclusions = array($aktuell);
 
    // Dateinamen und Zeitstempel einlesen
    $files = getFiles($dir, $exclusions);
 
    // Hier brauchen wir nur noch die Dateinamen, der Zeitstempel wurde nur
    // zur Sortierung verwenden
    $keys = array_keys($files);
 
    // Loeschen der aktuellen Datei
    unlink($aktuell);
 
    // Die letzte Datei aus dem Array holen
    $next = array_pop($keys);
 
    // Datei umbenennen
    rename ($next, $aktuell);
 
    // Die letzten 5 Dateien aus dem Array entfernen, da sie ja bleiben sollen
    $count = 5;
    if ($count < count($keys))
    {
       for ($i = 0; $i < $count; $i++)
           array_pop($keys);
    }
 
    // Alle anderen Dateien loeschen
    foreach ($keys as $key)
       unlink($key)
?>
 
Ich habe eine neue php.Datei erstellt, Dein Skript da rein kopiert und unter das Skript von Sempervivum gestellt. Was bewirkt das Skript jetzt?
 
Hallo M.Scatello,

ich bin absoluter Neuling und habe von den Dingen keine Ahnung. Ich versuche gerade, mich damit zu beschäftigen, damit meine Webcam vernünftig läuft. Vom Hersteller bin ich alleine gelassen worden.

Von Sempervivum habe ich schon das Skript bekommen, welches ich als php.Datei in der Ebene vor dem Verzeichnis "webcam" auf den FTP kopiert habe.

Das läuft ja schon super. Nur die Aktualisierung des Bildes geht nur, wenn ich den Link

http://starckfamily.homepage.t-online.de/Webcambild.php

aufrufe.

Ich habe mich auf Cronjob.de registriert. So wie das richtig verstanden habe, sorgt Cronjob dafür, dass im Hintergrund immer dieser Link in gewissen Abständen aufgerufen wird. Korrekt?

Also bitte nochmal für mich als Laie: Wo muss ich Dein Skript auf den FTP laden?

Alles ernst gemeint, nicht böse sein.

Ich bin auf Eure liebe Hilfe angewiesen und sehr dankbar. Auch wenn es sich manchmal für Kenner wie Dich blöd anhört: Für mich ist das, was für Dich selbstverständlich ist, leider nicht selbstverständlich.

Lieben Dank.

LG
 
Du kopierst mein Script auf den Server vor das Verzeichnis webcam. Dieses Script wird dann per Cronjob aufgerufen. Wenn das Script von Sempervivum funktioniert, kannst du das auch nehmen, obwohl der ganze HTML-Bereich darin unnötig ist.

Löscht das Script von Sempervivum alle Dateien bis auf die letzten 5? Ich meine nicht, oder?
 
Alles funktioniert bestens. Den Cronjob habe ich bei cronjob.de angelegt.

Der Link wird jetzt automatisch alle 5 Minuten aktualisiert und 5 Bilder werden nur noch auf dem FTP gespeichert.

Ich danke Euch ganz herzlich für Eure liebe Hilfe und Unterstützung, vor allem an Sempervivum und m.scatello.

LG

Volker
 
Hi,
habe diesen Beitrag über die Google suche gefunden.
Ich möchte das hier im Beitag beschriebene Procedere für meine Wetterstationsseite nachbauen.
Allerdings schreibt meine Kamera die *.jpg Bilder in Verzeichnisse nach Datum sortiert, also jeden Tag ein neues Verzeichnis mit Datum.
Sieht bei mir, auf dem ftp Server, dann so aus:
"Webcam/IP-Kamera-LUPUS/Snapshot/2020-02-10/001/*.jpg"
Wie müsste für meinen Fall die php Seite aussehen?
Danke für die Hilfe.
 
Hallo,
entschuldigt Bitte habe inzwischen bei meiner IP Kamera eine Einstellung gefunden, da kann man die *.jpg Datei überschreiben. Damit ist das Thema hier beendet.
Danke!
 
Hallo zusammen,
per Zufall stieß ich auf der Suche nach genau so einem Script auf diese Seite. Daher möchte ich das Thema hochbefördern und meine herzliche Bitte nach Unterstützung loswerden.
Meine Kamera schreibt im eingestellten Takt die Bilder nach folgendem Schema in einen täglich neuen Ordner:

/webcam/meineKamera/snap/2022-02-28/SNAP00T-20220228-235907.jpg
/webcam/meineKamera/snap/2022-02-28/SNAP00T-20220228-235937.jpg
/webcam/meineKamera/snap/2022-03-01/SNAP00T-20220301-000007.jpg
usw...

Das Script soll das aktuellste Bild nehmen, einen neuen Namen vergeben und in das Verzeichnis der Homepage schieben, mit diesem Pfad etwa:

/meineHomepage/webcam/aktuelles-bild.jpg

Anschließend noch das zyklische neu laden der Seite. Danach können alle Dateien und Ordner der Kamera gelöscht werden.

Wie muss das Ganze angestellt werden?

Schon mal vielen herzlichen Dank an die Fachleute hier!!
Gruß
Dirk
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben