Name einer hochzuladenden Datei vor Upload ändern

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Werbung

Jetzt auf elektrisches Fahren umstellen, Umwelt schonen und 1.500km kostenlosen Strom von Tesla bekommen. https://ts.la/carsten15473.

HenryChinaski

Neues Mitglied
16 Juni 2019
13
0
1
29
Hallo,

ich lade mit einem PHP script eine vom User ausgewählte Bild Datei hoch. Das funktioniert noch alles reibungslos. Allerdings war es bisher so, dass der Name der Datei einfach beibehalten worden ist. Ich wollte nun den Namen dahingehend ändern, dass auf einen Parameter in der URL (Hoffe man nenn das Parameter [?tic=XXX]) zurückgegriffen wird.
Hier der Code:

PHP:
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }
}
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
    
    $tempID = explode("?tic=", $actual_link);
    $tempExtension = explode(".", $target_file);
    $newfilename = $target_dir . $tempID[1] . '.' . end($tempExtension[1]);
    
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $newfilename)) {
        echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}
?>
Zu testzwecken hatte ich zwischen durch bei
$newfilename = $target_dir . $tempID[1] . '.' . end($tempExtension[1]);
das $tempID[1] durch "555Nase" (King of Queens Referenz) ersetzt.
Nun wird jede Datei die ich hochladen möchte "555Nase" genannt, auch ohne Dateiendung.

Wie ihr euch vorstellen könnt bin ich ziemlich verwirtt. War grad mit Filezilla auf dem Server und die PHP Datei ist wirklich die neue, also mit dem Code wie oben angegeben.
Nirgendwo steht "555Nase". Was ist da los??! Irgendjemand eine Idee? Bin was PHP angeht blutiger Anfänger.
Danke für jeden Tipp.
 

mitchel-ix

Neues Mitglied
14 Oktober 2018
6
0
1
36
Das geht recht einfach.

kleines beispiel:
Code:
if(isset($_POST['new_data']))
{
    $data_path = "uploads";
    $data        = $_FILES['data']['name'];
    $time         = date('H:i');
    $date         = date('d.m.Y');
  
    //Wenn keine eingaben vorgenommen wurden, Meldund ausgeben.
    if($data == "")
    {
        echo 'Bitte eine Datei auswählen.';
    }
    //Datei Hochladen
    else
    {
        //Ist ein Medium ausgewählt, Dateinamen ändern und Hochladen.
        if(!$data == "")
        {
            //Dateinamen durch Datum und Uhrzeit ersetzen.
            $data = '('.$date.'--'.$time.').'.substr(strrchr($data, '.'), 1);

            move_uploaded_file($_FILES['data']['tmp_name'], data_path.$data);
        }

        //Prüfen ob Hochgeladen, erst dann Script weiter verarbeiten
        if ($data <> "" )
        {
            echo "Datei erfolgreich hochgeladen.";
        }
    }
}
In diesem Code wird der Standart Name duch das Aktuelle Datum und Uhrzeit ersetzt.
 
Werbung: