Verschieben einer Datei in einen Ordner in PHP

Nimra Ejaz 1 April 2022
Verschieben einer Datei in einen Ordner in PHP

In diesem Artikel wird die Methode zum Verschieben einer Datei von einem Ordner in einen anderen erläutert. Es mag schwierig erscheinen, aber es ist super einfach, dies zu tun. Alles, was Sie brauchen, ist die native PHP-Funktion Umbenennen zu üben. Sein Name impliziert, dass es durch Umbenennen einer Datei oder eines Verzeichnisses funktioniert. Es mag Sie zunächst verwirren, aber das Umbenennen des Pfads einer Datei verschiebt sie letztendlich an den neuen Speicherort.

Verwenden Sie die Funktion rename(), um Dateien in PHP in einen anderen Ordner zu verschieben

Um die Funktion rename nutzen zu können, müssen wir den Quell- und Zielort der zu verschiebenden Datei angeben. Der Quellspeicherort ist das aktuelle Verzeichnis, in dem die Datei gespeichert ist, und der Zielspeicherort ist der Ort, an den wir unsere Datei verschieben möchten. Diskutieren wir es anhand eines Beispiels!

Angenommen, wir haben zwei Verzeichnisse mit den Namen source_directory und dest_directory. Wir haben eine Datei namens move-test.txt im source_directory und wir möchten sie mit PHP in das dest_directory verschieben.

Schauen wir uns den folgenden Code an:

<?php
$currentLocation = 'source_directory/move-test.txt';
$newLocation = 'dest_directory/move-test.txt';
$moved = rename($currentLocation, $newLocation);
if($moved)
{
    echo "File moved successfully";
}
?>

Die Erklärung des oben erwähnten Codes ist wie folgt.

  1. Der aktuelle Pfad der Datei wird zuerst über die Variable $currentLocation angegeben.
  2. Dann wird der neue Speicherort zusammen mit dem Dateinamen angegeben. Einfacher gesagt, es ist der neue Ort, an den wir unsere Datei verschieben möchten.
  3. Wenn Sie Ihrer Datei einen anderen Namen geben möchten, können Sie dies tun, indem Sie den Dateinamen move-test.txt in der Variablen $newLocation mit Ihrem neuen Dateinamen ändern.
  4. Die Umbenennungsfunktion benötigt zwei Parameter: $currentLocation für den Dateipfad vor dem Verschieben und $newLocation für den neuen Dateipfad nach dem erfolgreichen Verschieben an den gewünschten Ort.

Wichtige Überlegungen

Die Funktion rename gibt TRUE zurück, wenn der Verschiebevorgang erfolgreich war. Zwei wichtige Dinge, die hier zu beachten sind:

  1. Die zu verschiebende Datei muss existieren. Sie sollten sicherstellen, dass die Datei, die Sie verschieben möchten, vorhanden sein muss. Andernfalls wird eine Warnung ausgegeben, die besagt: Das System kann die angegebene Datei nicht finden.
  2. Eine bestehende Datei kann überschrieben werden. Die Umbenennungsfunktion kann zum Überschreiben einer bestehenden Datei führen, d. h. wenn $newLocation der Name einer bestehenden Datei ist, wird nach dem Verschieben mit der Umbenennungsfunktion die bestehende Datei überschrieben.

um zu prüfen, ob die Datei existiert

Um zu überprüfen, ob die Datei existiert oder nicht, bevor Sie sie in einen anderen Ordner verschieben, können Sie die von PHP bereitgestellte Funktion is_file verwenden.

Das Codebeispiel zum Überprüfen, ob die Datei vorhanden ist oder nicht, mit der Funktion is_file lautet wie folgt:

<?php
  $currentLocation = 'source_directory/move-test.txt';
  $newLocation = 'dest_directory/move-test.txt';
  if(is_file($currentLocation))
  {
    $moved = rename($currentLocation, $newLocation);
  }
  if($moved)
  {
    echo "File moved successfully";
  }
?>

Im obigen Beispiel wird is_file($currentLocation) verwendet, um zu prüfen, ob die Datei, die wir verschieben möchten, existiert oder nicht, bevor die Umbenennungsfunktion aufgerufen wird, die den Verschiebungsvorgang durchführt.

um zu prüfen, ob die Datei nicht überschrieben wurde

Die Methode, um sicherzustellen, dass eine vorhandene Datei nicht überschrieben wird, während eine Datei von einem Speicherort an einen anderen verschoben wird, wird im folgenden Codebeispiel erläutert:

<?php
$currentLocation = 'source_directory/move-test.txt';
$newLocation = 'dest_directory/move-test.txt';
if(!is_file($newLocation))
{
  $moved = rename($currentLocation, $newLocation);
}
 if($moved)
{
 echo "File moved successfully";
}	
?>

Im obigen Beispiel wird mit is_file($newLocation) geprüft, ob eine andere Datei existiert, die beim Aufruf der Funktion rename überschrieben werden könnte.

Verwandter Artikel - PHP File