Ich muss Benutzern auf meiner Website erlauben, ihre Bilder vom Server zu löschen, nachdem sie sie hochgeladen haben, wenn sie sie nicht mehr möchten. Ich habe die unlink
Funktion zuvor in PHP verwendet, aber seitdem wurde mir gesagt, dass dies sehr riskant und ein Sicherheitsproblem sein kann. (Vorheriger Code unten :)
if(unlink($path.'image1.jpg')){
// deleted
}
Stattdessen möchte ich jetzt einfach die Datei in einen anderen Ordner verschieben. Dies muss lange nach dem ersten Hochladen der Datei möglich sein, damit sie sich jedes Mal bei ihrem Konto anmelden können. Wenn ich den Hauptordner habe, in dem die Bilder des Benutzers gespeichert sind:
user/
und dann in diesem einen Ordner namens del, der das Ziel ist, um ihre unerwünschten Bilder zu platzieren:
user/del/
Gibt es einen Befehl zum Verschieben einer Datei in einen anderen Ordner? Das heißt also:
user/image1.jpg
bewegt sich zu / wird
user/del/image1.jpg
Verwenden Sie die Funktion rename () .
quelle
Wenn Sie die Datei in einen neuen Pfad verschieben möchten, behalten Sie den ursprünglichen Dateinamen bei. benutze das:
quelle
Eine Lösung besteht darin, zuerst die Datei zu kopieren () (wie oben erwähnt) und wenn die Zieldatei vorhanden ist - die Verknüpfung der Datei () von der vorherigen Lokalisierung aufzuheben. Darüber hinaus können Sie die MD5-Prüfsumme überprüfen, bevor Sie die Verknüpfung aufheben, um sicherzugehen
quelle
Erstellen Sie eine Funktion, um sie zu verschieben:
quelle
Ich benutze Shell, lese alle Datendateien und weise sie dann dem Array zu. Dann verschiebe ich die Datei in die oberste Position.
quelle
Verwendung copy () und unlink () Funktion
quelle
shell_exec ('mv filename dest_filename');
quelle