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.
- Der aktuelle Pfad der Datei wird zuerst über die Variable
$currentLocation
angegeben. - 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.
- 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. - 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:
- 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.
- 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.