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

File-Upload - automatischer md5 ?!

djfabi

Mitglied
Hallo,

ich habe hier ein Script (unten), welches ein ausgewähltes file hochläd, in einen ganz bestimmten Ordner.

Das geht auch, aber irgentwie wird bei jedem Upload ein automatischer md5() gemacht.. Wieso?

Ich habe hier mal den Script:

index.php
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head>        
                <title></title>               
 </head><body>                                                        
<form method="post" action="uploadimage.php" enctype="multipart/form-data">
                        <input type="file" name="image" /> <br/>            
<input type="submit" name="submit" value="Upload" /> 
        </form>                                                        
</body>
</html>

Und dei Upload-Datei:
PHP:
<?php
              if(isset($_POST['submit']) && $_POST['submit'] != "" && $_POST['submit'] == "Upload"){                      // File Variables        
$name=  $_FILES['image']['name'];        
$temp=  $_FILES['image']['tmp_name'];        
$type=  $_FILES['image']['type'];        
$size=  $_FILES['image']['size'];                
// Recognizing the extension        
switch( $type ){                                
// Image/Jpeg                
case 'image/jpeg':                        
$ext= '.jpg';                
break;                                
// Image/png                
case 'image/png':                        
$ext= '.png';                
break;                                
// Image/gif                
case 'image/gif':                        
$ext= '.gif';                
break;                        
}                

$infos = getimagesize($_FILES['image']['tmp_name']);                
$breite = $infos[0];                
$hohe = $infos[1];                
$dateityp = $infos[2];                    

$zulaessige_formate = array(1, 2, 3);
$bildinformationen = @getimagesize($_FILES['image']['tmp_name']); 
$fehler = true;            

if ($bildinformationen != false){  
if(in_array($bildinformationen[2], $zulaessige_formate))  {    
echo "Das ist ein gueltiges Bildformat<br/>";                 
// Upload Variables        

$path= 'upload/hallo'. $ext;        
$data= $name . '<br />' . $temp . '<br />' . $type . '<br />' . $size . '<br />' . $path . '<br /> <a href="index.php">Go Back</a>'; 

               // Check for the Image post.        
if( $_POST ){                        
// Got into the POST check.                        
if( $_FILES ){                                        
// Got into the FILES check.                        
move_uploaded_file( $temp, $path );                                                
echo $data;                                        
}                
}
                            
$fehler = false;  
}} 

if($fehler){  
echo "Das Bildformat ist ungueltig. Erlaubt sind nur 'GIF', 'JPG' und 'PNG' Dateien.<br/>";  
exit;
}                
}else{                      
header("Location: index.php");                                 
}                                
?>



Wie man sieht, habe ich die Datei in den Ordner upload/ geschoben, so und den Namen hallo.jpg oder hallo.png, jenachdem was man hochgeladen hat.

Die Datei wird aber nie unter Hallo.png sonder immer in einer Form von sowas : ad07e350bc5a44ad08da90345757d785.png
abgespecihert. Also einem md5()

Wie unterbinde ich das? Bzw. wie kommt das überhaupt zu Stande?

Ich habe das ja nirgents vorher mit einem md5 verschlüsselt.

Woran liegt das?

Grüße djfabi
 
Zuletzt bearbeitet:
Hm, echt eine gute Frage wieso das nicht klappt.

Im Code - wie er hier steht - wäre die Erklärung wahrscheinlich dass $path nicht definiert ist da du die Variable auskommentiert hast. Ich denke aber im Originalcode ist die Zeile "$path= 'upload/hallo'. $ext;" nicht Teil vom Kommentar?

Was wird denn bei der Ausgabe von $path ausgegeben?
"upload/hallo.png" oder "ad07e350bc5a44ad08da90345757d785.png"?

Das es sich um einen md5-String handelt muss nicht sein, ich glaube der TMP-Name einer hochgeladenen Datei sieht so ähnlich aus.
 
ja, leider, und ich rege mich echt leicht darüber auf :D

$path ist definiert, und auch NICHT auskommentiert :D
ZUmindest im OriginalCode .
Ausgabe des $path:
Code:
[COLOR=#000000][FONT=Times]upload/401369651034e1a5f28fcc2562648451.png[/FONT][/COLOR]

Nein, es wird nicht als so großer Dateiname im TMP gespeichert.
Das sieht so aus:
Code:
[COLOR=#000000][FONT=Times]/Applications/XAMPP/xamppfiles/temp/php6jsm3s[/FONT][/COLOR]

Also daher kommt der Name nicht.. Aber woher dann?

Bitte kann mir wer helfen :D
Ich verzweifle ._.
 
Zurück
Oben