Datei-Upload Script umschreiben... help

Ok also ich hab mal ein Script um Dateien hochzuladen gefunden, dass sieht so aus:

[code]<?php
if($_REQUEST[‘Send’])
{
if($_FILES[‘Datei’][‘tmp_name’])
{
echo"Ihre Datei ("",
$_FILES[‘Datei’][‘name’],
"") ist “,
$_FILES[‘Datei’][‘size’],
” Bytes groß.";
move_uploaded_file($_FILES[‘Datei’][‘tmp_name’], “upload/”.$_FILES[‘Datei’][‘name’]);
}
else
{
echo"Bitte geben Sie eine Datei an!";
}
}
else
{
?>

Datei-Upload
<?php } ?>[/code]

Nun möchte ich aber dass man nur JPG-, PNG- und GIF-Dateien hochladen kann mit max. 20kb Speicher und max. 80x80px Größe.
Kann mir jemand ein Link zu einem zutreffenden Script posten oder wäre einer so Lieb und würde mir das oben gepostete Script umschreiben?

Wäre um Hilfe sehr dankbar!

lg

vielleicht hilft das?
tinyurl.com/yz7t485

Danke aber Onkel Google hab ich schon gefragt, der bringt mir zum Thema nur komplexe scripts, aber nichts einfaches wie das Script oben. -.-

Außerdem sucht dein autoGoogle nach Datei-Upload, aber ich brauch Bilder-Upload…

htmlgoodies.com/beyond/webma … hp/3548746 ist ne sehr ausführliche anleitung

btw: Datei/Image hoster sind hier verboten.

oke nach 1 h rumbasteln, habe ich denke es soweit hinbekommen^^

[code]<?php
if($_FILES[‘Datei’][‘tmp_name’])
{

	// Grafik wird auf eine Größe von 50000 Bytes = 50 Kb geprüft
	if($_FILES['Datei']['size'] < '50000'){ 

		
		// Die Datei-Typen die nicht zugelassen werden
		$DateiTyp = array("jpg","jpeg","png","gif");	
		
		// Wenn DateiTyp und DateiGröße korrekt sind = Upload
		if (in_array(end(explode(".", strtolower($_FILES['Datei']['name']))), $DateiTyp)) { 
   		
    		move_uploaded_file($_FILES['Datei']['tmp_name'], "images/logos/".$_POST[name].'.'.end(explode(".", $_FILES['Datei']['name'])));

  		} else {
		
			echo '<br />Der DateiTyp stimmt nicht, versuche es nochmal!';
		
		}
		
		 
	} else {
	
		echo 'Größe des Bildes passt nicht!';
		
	}
	
	
	
}
else
{
    echo"Bitte geben Sie eine Datei an!";
}

?>

Datei-Upload
[/code]

Ähm also ich “programmiere” ein Clanregister und dort soll man sein Clan-Logo uploaden können. :wink:

Die Datei/Image-Geschichte kenne ich, aber ich denke/hoffe nicht dass es verboten ist also in dem Clanregister.
Man kann sowieso nur 1 logo hochladen, wenn man ein neues hochladet(gleicher DateiTyp), dann wird es einfach überschrieben, da der Name immer gleich bleibt (im Clanregister), also falls ihr versteht wie ich es meine.^^

Aso ja, ähm würdet ihr an dem Script oben etwas noch verändern/verbessern? (wenn ja, was wo?)

mfg

PS: der code oben is für jeden der es gebrauchen kann :stuck_out_tongue:

ich würde es so machen das ich sage welche dateitypen erlaubt sind…

// Die Datei-Typen die nicht zugelassen werden $DateiTyp = array("txt","csv","htm","html","xml","css","doc","xls","rtf","ppt","pdf","swf","flv","avi","wmv","mov");

so kann ich ja immernich zb .exe .php datein hochladen

Außerdem ist <?php echo $_SERVER['PHP_SELF']; ?> XSS-Anfällig. Besser:

[quote=“Hardi”]ich würde es so machen das ich sage welche dateitypen erlaubt sind…

// Die Datei-Typen die nicht zugelassen werden $DateiTyp = array("txt","csv","htm","html","xml","css","doc","xls","rtf","ppt","pdf","swf","flv","avi","wmv","mov");

so kann ich ja immernich zb .exe .php datein hochladen[/quote]
Is ja der Sinn der Sache^^ es sollen ja nur Bilder hochgeladen werden. :wink:

ehm, dir ist klar, dass exe und php-Dateien keine Bilder sind?

omg ja :laughing: habs übersehen… ja wie auch immer, weitere DateiTypen kann man ja dazu tun oÔ

wie ichs umproggen soll wüsste ich im moment ned :stuck_out_tongue:

[code]if (!in_array(end(explode(".", strtolower($_FILES[‘Datei’][‘name’]))), $DateiTyp)) {

          move_uploaded_file($_FILES['Datei']['tmp_name'], "images/logos/".$_POST[name].'.'.end(explode(".", $_FILES['Datei']['name'])));

        } else {
     
        echo '<br />Der DateiTyp stimmt nicht, versuche es nochmal!';
     
     }[/code]oO

Du wirst doch wohl im stande sein, das ! in der IF-Bedingung raus zu nehmen und deine 3 Bild-Typen ins array $DateiTyp zu tun?

ok hab alles soweit verbessert :wink:

Um zu prüfen, ob es sich um eine Grafik handelt, ist wohl getimagesize() am besten geeignet.