Codeigniter Datei beim Hochladen umbenennen

In CodeIgniter können Sie eine Datei beim Hochladen umbenennen, indem Sie die Methode do_upload() der Klasse Upload verwenden. Diese Methode ermöglicht es Ihnen, verschiedene Optionen für das Hochladen einer Datei anzugeben, einschließlich des neuen Namens der Datei. Hier ist ein Beispiel dafür, wie Sie diese Methode verwenden können, um eine Datei beim Hochladen umzubenennen:

<?php

$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['file_name'] = 'neuer_dateiname';

$this->load->library('upload', $config);

if (!$this->upload->do_upload('userfile')) {
    $error = ['error' => $this->upload->display_errors()];
    $this->load->view('upload_form', $error);
} else {
    $data = ['upload_data' => $this->upload->data()];
    $this->load->view('upload_success', $data);
}

In diesem Beispiel wird das Array $config verwendet, um den Upload-Pfad, die erlaubten Dateitypen und den neuen Dateinamen festzulegen. Dann wird die Bibliothek upload geladen und die Methode do_upload() verwendet, um die Datei hochzuladen. Die Methode do_upload() gibt einen booleschen Wert zurück, der angibt, ob das Hochladen erfolgreich war oder nicht. Wenn das Hochladen erfolgreich war, kann die Methode data() der Klasse Upload verwendet werden, um Informationen über die hochgeladene Datei abzurufen, wie z.B. deren Name, Größe und Typ.

Sie können auch die Methode rename() der Klasse Upload verwenden, um eine Datei nach dem Hochladen umzubenennen. Diese Methode nimmt den ursprünglichen Dateinamen und den neuen Dateinamen als Argumente und gibt einen booleschen Wert zurück, der angibt, ob die Umbenennung erfolgreich war oder nicht.

$original_name = $this->upload->data('file_name');
$new_name = 'neuer_dateiname.jpg';

if ($this->upload->rename($original_name, $new_name))
{
    echo 'Datei erfolgreich umbenannt!';
}

Es ist wichtig zu beachten, dass die Methode rename nur funktioniert, wenn die move_uploaded_file in der Konfigurationsdatei auf false gesetzt ist.