Post Upload PHP

Geschlossen
NADINA 85 - 31. Oktober 2011 um 13:44
 NADINA 85 - 1. November 2011 um 12:36
Guten Tag,

hab ziemlich blöde Frage !
Beim Uploaden einer Image in ein Formular , wie kann ich den Dateiname und die Dateiendung herausfinden? Damit ich sie später in eine Datenbank hinzufügen kann !

Vielen Dank für Antwort ( en) im Voraus.
L.G

2 Antworten

Hallo!
Hiermit bekommst du dein Problem gelöst:

<form method="POST" action="upload.php" enctype="multipart/form-data"> 
<!-- Dateigröße bis 100 KB begrenzen --> 
<input type="hidden" name="MAX_FILE_SIZE" value="100000"> 
Datei : <input type="file" name="avatar"> 
<input type="submit" name="senden " value="Datei senden"> 
</form> 
<?php 
if(isset($_POST['senden'])) 
{ 

$ordner= 'upload/'; 
$datei= basename($_FILES['avatar']['name']); 
$groesse_max = 100000; 
$groesse= filesize($_FILES['avatar']['tmp_name']); 
$Dateiendungen= array('.png', '.gif', '.jpg', '.jpeg'); 
$Dateiendung= strrchr($_FILES['avatar']['name'], '.'); 
//Beginn der Sicherheitsüberprüfungen 
if(!in_array($Dateiendung, $Dateiendungen)) // Wenn die Dateiendung nicht in der //Tabelle ist... 
{ 
$fehler= ' Dateien wie png, gif, jpg, jpeg, txt oder doc...musst du uploaden.'; 
} 
if($groesse>$groesse_max) 
{ 
$fehler= 'Die Datei ist sehr groß ...'; 
} 
if(!isset($fehler)) // upload , falls Fehler vorhanden wäre 
 { 
    // Der Dateiname wird hier formatiert. 
    $ Datei = strtr($Datei , 
    'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
    'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); 
    $Datei = preg_replace('/([^.a-z0-9]+)/i', '-', $Datei ); 
    if(move_uploaded_file($_FILES['avatar']['tmp_name'], $Ordner . $ Datei ))  

     //True wird angezeigt= Vorgang erfolgreich ausgeführt. 
    { 

       echo 'Uploadvorgang ist erfolgreich verlaufen !'; 

    } 
       else //Sonst die Funktion wiedergibt FALSE. 

    { 
       echo ' \'upload ist fehlgeschlagen !'; 
    } 
 } 
else 
 { 
      echo $fehler; 
 } 
}

?> 

Gruß
Danke für deine Antwort,

Also wenn ich richtig verstanden habe, die Zeile :

$datei= basename($_FILES['avatar']['name']);

bewirkt ,dass der Dateiname gespeichert wird.

heißt das , wenn ich $datei in meine DB einfüge, müsste ich dann die Image haben?