Bin eben fertig geworden mitn Imageupload und stelle mir nun die Frage wie ich überprüfen kann ob es auch wirklich ein Bild ist, nicht nur eine Datei die mit .png,jpg oder sonstwas geliefert wird, da ich bis jetzt nur auf die Endung überprüfe nicht auf den Inhalt! Kann mir da jemand helfen?
hm naja es gibt noch weitere Varianten - allerdings weiß ich nicht welche am sichersten ist. Vlt alle miteinander kombinieren ^^
[PHP]
//Methode 1
//$bild ist die hochgeladene Datei
if(getimagesize($bild) === false) unlink($blid);
Weiß nicht, ob das möglich ist, sollte aber. Man kann die Datei ja auch mit PHP öffnen und die ersten paar Buchstaben auslesen. Wenn man das ganze mal mit nem Texteditor macht, sieht man, was ich meine.
Funktioniert sehr gut bei .gif-Dateien, weil man es direkt erkennt an den ersten Buchstaben in der Datei. .jpg hat auch immer das selbe und sonst hab ich noch nichts weiteres getestet.
Ich habe das heute erst gemacht, leider etwas erfolglos xDD
also…
irgendwie so →
[PHP]
<?php
if (eregi('.jpg',$file) || eregi('.gif',$file) || eregi('.bmp',$file) || eregi('.png')) {
echo 'Alles hat geklappt.';
}
else {
echo ' Es sind nur die Dateitypen .jpg , .gif , .bmp und .png erlaubt! ';
}
?>
[/PHP]
$file , ist die die Variable für die datei.
Schreib einfach mal google, php eregi , hin ^^ ;heart
@zorndyuke: Überprüft das ganze dann nicht auch nur, ob es JPG oder jpg ist? Also wenn ich mir so das Beispeil auf php.net anschaue
[php]<?php
$string = 'XYZ';
if (eregi('z', $string)) {
echo "'$string' contains a 'z' or 'Z'!";
}
?>[/php]
Zeigt für mich, dass er nach bestimmten Dingen, in diesem Falle ein „z“ in einem String durchsucht und dann ausgibt, dass dieses „z“ in irgendeiner Form vorhanden ist.