Zum Inhalt springen

Dateien mit PHP umbenennen und verschieben

Wer auf seinem Webserver dazu gezwungen ist, regelmäßig Dateien zu verschieben, kann dies entweder per Hand erledigen oder eine Skript schreiben, welches Dateien mit PHP umbenennen und kopieren kann. Dieses kann dann entweder manuell oder per cronjob aufgerufen werden.

Dateien mit PHP umbenennen und verschieben

Im konkreten (privaten) Beispiel handelte es sich um ein per Webcam erstelltes Foto, welches stündlich auf dem Webserver gespeichert wurde. Damit die Bilder nicht stündlich überschrieben, sondern in einem separaten Ordner archiviert werden, musste das jeweils ältere Foto in einen anderen Ordner kopiert oder aber zumindest umbenannt werden.

Diese Aufgabe könnte zwar manuell durchgeführt werden, das hätte aber mit effizienter Arbeit nichts mehr zu tun. Deshalb sollte ein Cronjob eingerichtet werden, der diese Aufgabe, eine Datei mit PHP umbenennen, übernimmt. Folgendes Ziel sollte erreicht werden:

  1. Erstelltes Bild umbenennen (Erweiterung mit Datum und Uhrzeit)
  2. Kopieren der umbenannten Datei in einen Archivordner
  3. Löschen des ursprünglichen Bildes

Mit folgendem PHP-Code können wir die Bilddateien letztlich umbenennen und verschieben:

<?php
/* Aktuelles Datum einlesen und Format umwandeln */
 $timestamp = time();
 $datum = date("Ymd-Hi", $timestamp);

/* Quell- und Zielpfad definieren */
 /* Relative Pfade eintragen */
 $quelle = "/bilder/webcam/bild.jpg";
 $ziel = "/bilder/archiv//bild-$datum.jpg";

/* Datei in den Zielpfad zu verschieben (kopieren/löschen) */
 /* Löschen findet nur statt, wenn Kopieren erfolgreich war */
 if (copy($quelle ,$ziel)) {
 unlink($quelle);}
?>

Die Kommentare sollten selbsterklärend sein. Zu beachten war nur, dass der Timestamp noch in das korrekte Format konvertiert werden muss. Ebenso musste der relative Pfad des Webservers eingetragen werden (ob das bei allen Webservern so ist, weiß ich leider nicht).

[adrotate banner=“13″]

Die php-Datei mit diesem Code kann dann entweder manuell ausgeführt werden oder per cronjob zu einem festen Zeitpunkt, bzw. in einem beliebigen Intervall gestartet werden. Da ich nicht der größte PHP-Experte bin, denke ich, dass es vielleicht noch einfachere oder bessere Möglichkeiten gibt, eine Datei mit PHP umbenennen zu können. Aber für den genannten Einsatzzweck reichte dieses Skript vollkommen aus.

Ich habe auf der Seite TECH-FAQ noch viele weitere nützliche Skripte für Windows Server und andere Systeme veröffentlicht.

Ebenfalls interessant: