2016-12-01 10 views
-1

Ich möchte den Namen eines Bildes ändern, während ich es hochlade.Ändern des Bildnamens beim Hochladen

Hier ist mein Code:

if(isset($_POST['submit'])) 
{ 
    $target_dir = "pictures/"; 
    $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); 
    $uploadOk = 1; 
    $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 

    // Allow certain file formats 
    if($imageFileType != "gif") { 
     echo "Sorry only GIF files are allowed."; 
     $uploadOk = 0; 
    } 
    // Check if $uploadOk is set to 0 by an error 
    if ($uploadOk == 0) { 
     echo "Sorry, your file was not uploaded."; 
    // if everything is ok, try to upload file 
    } else { 
     if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { 
      echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded."; 
      header('Location:field_medal_winner.php'); 
     } else { 
      echo "Sorry, there was an error uploading your file."; 
     } 
    } 
} 

Zuerst habe ich versucht, es whith Änderung der move_uploaded_file Funktion zu tun. Aber ich habe gerade die sonst Nachricht:

if (move_uploaded_file("text.gif", $target_file)) { 
    echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded."; 
} else { 
    echo "Sorry, there was an error uploading your file."; 
} 

Hat jemand eine Idee, was ich falsch mache?

+0

Sie vor Header ausgibt - überprüfen Sie es http://php.net/manual/en/function.error-reporting.php und die Form des nicht bekannt. * "Aber ich habe gerade die else Nachricht erhalten" * - weil es Fehler gibt. –

+0

Mögliches Duplikat von [So beheben Sie die Fehlermeldung "Header bereits gesendet" in PHP] (http://stackoverflow.com/questions/8028957/how-to-fixe-headers-already-sent-error-in-php) –

+1

Möglich Duplikat von [Wie wird die hochgeladene Datei umbenannt, bevor sie in einem Verzeichnis gespeichert wird?] (http://stackoverflow.com/questions/18705639/how-to-rename-uploaded-file-before-saving-it-into-a-directory) –

Antwort

0

Ersetzen Sie diese 2 Zeilen

$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); 
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 

Mit

$target_file = $target_dir . "text.gif"; 
$imageFileType = pathinfo($_FILES["fileToUpload"]["name"],PATHINFO_EXTENSION); 

Es als text.gif in Ihrem gewünschten Ordner speichern wird. Aber bedenken Sie, egal welche Datei Sie hochladen, wird es alte Text.gif Datei zu Text.gif überschreiben, da Datei mit demselben Namen hochgeladen wird.

Aktualisiert-Code

if(isset($_POST['submit'])) 
{ 
    $target_dir = "pictures/"; 
    $target_file = $target_dir . "text.gif"; 
    $uploadOk = 1; 
    $imageFileType = pathinfo($_FILES["fileToUpload"]["name"],PATHINFO_EXTENSION); 

    // Allow certain file formats 
    if(($imageFileType != "gif") || ($imageFileType != "GIF")) { 
    echo "Sorry only GIF files are allowed."; 
    $uploadOk = 0; 
    } 
    // Check if $uploadOk is set to 0 by an error 
    if ($uploadOk == 0) { 
    echo "Sorry, your file was not uploaded."; 
    } else { 
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { 
     echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded."; 
     header('Location:field_medal_winner.php'); 
    } else { 
     echo "Sorry, there was an error uploading your file."; 
    } 
    } 
} 
+0

Hey funktioniert einfach gut Tanks für Ihre Hilfe! –

+0

@AaronWerlen: Bitte vergessen Sie nicht, diese Antwort als richtige Antwort zu markieren. Wie, es wird anderen Benutzern helfen, diese Antwort leicht zu finden. Wenn Sie nicht wissen, wie Sie die Antwort als geeignet markieren sollten, dann klicken Sie diesen Link an. http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –

Verwandte Themen