Heim  >  Artikel  >  Backend-Entwicklung  >  So laden Sie Dateien hoch und benennen sie in PHP um

So laden Sie Dateien hoch und benennen sie in PHP um

PHPz
PHPzOriginal
2023-03-23 14:11:072238Durchsuche

PHP ist eine häufig verwendete Webentwicklungssprache. Viele Websites werden mit PHP entwickelt und verwaltet, und eine der häufigsten Funktionen ist das Hochladen von Dateien. Obwohl der Datei-Upload-Prozess in PHP relativ einfach ist, kommt es manchmal vor, dass Sie den Namen der hochgeladenen Datei ändern müssen.

In diesem Artikel erfahren Sie, wie Sie Dateien hochladen und den Namen hochgeladener Dateien in PHP ändern.

1. Dateien hochladen

In PHP wird beim Hochladen von Dateien das superglobale Array $_FILES verwendet. Dieses Array enthält Informationen über die hochgeladene Datei, beispielsweise den Namen, die Größe und den Typ der hochgeladenen Datei.

Hier ist ein einfaches Beispiel für einen Datei-Upload-Code:

if(isset($_FILES['file'])){
    $file_name = $_FILES['file']['name'];
    $file_tmp_name = $_FILES['file']['tmp_name'];
    $file_size = $_FILES['file']['size'];
    $file_type = $_FILES['file']['type'];
    $file_error = $_FILES['file']['error'];

    //将上传的文件移动到指定目录
    move_uploaded_file($file_tmp_name, $file_name);
}

Im obigen Code verwenden Sie zunächst die Funktion isset(), um zu überprüfen, ob $_FILES['file'] festgelegt ist, und rufen Sie dann die Details der hochgeladenen Datei ab Superglobales Array, einschließlich Dateiname, temporärer Dateiname, Dateigröße, Dateityp und Fehlermeldung. Verwenden Sie abschließend die Funktion move_uploaded_file(), um die Datei aus dem temporären Ordner in das angegebene Verzeichnis zu verschieben.

2. Ändern Sie den Namen der hochgeladenen Datei.

Angenommen, wir müssen die hochgeladene Datei umbenennen, um Dateinamenkonflikte zu vermeiden oder die Sicherheit zu erhöhen. Die Änderung des Dateinamens kann mit vorgefertigten Funktionen in PHP erfolgen.

Funktion 1: rename()

Mit der Funktion rename() können Sie den Namen der hochgeladenen Datei ändern. Die Funktion rename() hat zwei Parameter, den ursprünglichen Dateinamen und den neuen Dateinamen.

if(isset($_FILES['file'])){
    $file_name = $_FILES['file']['name'];
    $file_tmp_name = $_FILES['file']['tmp_name'];
    $file_size = $_FILES['file']['size'];
    $file_type = $_FILES['file']['type'];
    $file_error = $_FILES['file']['error'];

    //将上传的文件移动到指定目录,并改变文件名称
    $new_name = "newfile.jpg";
    $new_path = "uploads/".$new_name;
    move_uploaded_file($file_tmp_name, $new_path);
    
    rename($new_path, "uploads/".rand(1000, 9999)."_".$new_name);
}

Verschieben Sie im obigen Code zunächst die hochgeladene Datei in das angegebene Verzeichnis und ändern Sie den Namen der hochgeladenen Datei in newfile.jpg. Verwenden Sie dann die Funktion rename(), um den Dateinamen in eine Zufallszahl mit Unterstrich und den ursprünglichen Dateinamen newfile.jpg zu ändern. Durch die Verwendung von Zufallszahlen und Zeitstempeln kann die Duplizierung von Dateinamen vermieden und die Sicherheit beim Hochladen von Dateien verbessert werden.

Funktion 2: move_uploaded_file()

Beim Verschieben und Hochladen von Dateien können Sie direkt die Funktion move_uploaded_file() verwenden, um den Dateinamen zu ändern.

if(isset($_FILES['file'])){
    $file_name = $_FILES['file']['name'];
    $file_tmp_name = $_FILES['file']['tmp_name'];
    $file_size = $_FILES['file']['size'];
    $file_type = $_FILES['file']['type'];
    $file_error = $_FILES['file']['error'];

    //修改上传文件的名称
    $new_name = "newfile.jpg";
    move_uploaded_file($file_tmp_name, "uploads/".rand(1000, 9999)."_".$new_name);
}

Im obigen Code rufen Sie zunächst die Details der hochgeladenen Datei ab, verschieben dann die hochgeladene Datei in das angegebene Verzeichnis und ändern den Dateinamen in eine Zufallszahl mit Unterstrich und einen neuen Dateinamen newfile.jpg.

Zusammenfassung

In diesem Artikel haben wir zwei Methoden zum Hochladen von Dateien in PHP und zum Ändern des Namens der hochgeladenen Datei vorgestellt: Verwendung der Funktion rename() und der Funktion move_uploaded_file(). In Bezug auf die Sicherheit und Stabilität der Datei-Upload-Funktion haben beide Methoden Vor- und Nachteile und müssen entsprechend der tatsächlichen Situation ausgewählt werden. In jedem Fall sollten gute Codierungspraktiken befolgt werden, um die Sicherheit und Zuverlässigkeit des Datei-Uploads zu gewährleisten.

Das obige ist der detaillierte Inhalt vonSo laden Sie Dateien hoch und benennen sie in PHP um. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn