PHP Script für Umbennen + Überschreiben von .jpg Dateien (Webcam)


Siberian Tiger

Grünschnabel
Hallo zusammen

Als Riesiger PHP Noob. (Habe mich erst heute morgen in das Thema ein bisschen vertiefter eingelessen, weil ich folgendes benötige:

Ich habe eine Webcam welche (leider) beim Upload Ihrer Bilder nicht immer die vorhandene Datei auf einem FTP Überschreibt, sondern mit jedem Upload eine neue Datei mit Timestamp höchlädt.
(Lässt sich leider definitiv NICHT anders einstellen an der Webcam)

Was ich nun möchte:

Ich habe einen Order auf meinem FTP: "/Webcam
in diesen lädt die Webcam Bilder hoch (Jede 5 Minuten) mit dem Namen: "Webcam_Eglisauxxx.jpg"

xxx = Timestamp vom Bild

Nun möchte ich jeweils sobald die neueste Datei "Webcam_Eglisauxxx.jpg" hochgeladen wird das diese dann umbenennt wird in "Webcam_Eglisau_Image.jpg".

Die Datei "Webcam_Eglisau_Image.jpg soll natürlich immer wieder überschrieben werden.

Nun verstehe ich das ich ein PHP Script brauche, welches im gleichen Ordner wie die Bilder sitzt + alle 5 Minuten über einen Cronjob gestartet wird.

Ich nehme an das ich zuerst prüfen muss welche Dateien das da sind.

Also in etwa so was:
PHP:
$fileList = glob('Webcam_Eglisau*.jpg');
      var_dump($fileList);

Danach mit der Funktion rename die Variable $fileList auslesen und die Dateien dann umbennen löschen etc.

So was?
PHP:
rename ( $fileList, "/Webcam_Eglisau_Image.jpg");

Leider habe ich aber einfach nicht genügend Ahnung um daraus ein sauberes Script zu schreiben :(

Kann mir da wer helfen?

Danke im Vorraus :)
 

ikosaeder

Teekannen-Agnostiker
Ich würde da einfach ein Shellskript machen mit einfachen Befehlen. Mit Sleep brauchst du noch nichteinmal einen Cronjob starten.
Bash:
rm Webcam_Eglisau_Image.jpg
mv Webcam_Eglisau*.jpg Webcam_Eglisau_Image.jpg
sleep 5m
 

Siberian Tiger

Grünschnabel
Danke für die Antwort :)

Da ich noch nie mit Shellscripts gearbeitet habe, möchte ich mich nicht unbedingt noch in ein Thema mehr einlesen ;)
(Scheint aber wirklich einfach zu sein vom Code her geschlossen)

Ich habe es nun mit PHP mit viel Try and Error geschafft, damit auch andere User davon profitieren können hier der Code:

PHP:
<?php
  $fileList = glob('Webcam_Eglisau*.jpg');
  var_dump($fileList);
  foreach (glob("Webcam_Eglisau*.jpg") as $filename) {
    echo "Renaming " . $filename . " now.</br>";
    $uniqid = uniqid();
  if(file_exists($filename)) {
    rename($filename, "Webcam_Eglisau_Image.jpg");
    echo $filename . " is now Webcam_Eglisau_Image.jpg</br>";
  }
}
?>
 

Forum-Statistiken

Themen
272.356
Beiträge
1.558.615
Mitglieder
187.830
Neuestes Mitglied
hansmeiser