oldputz1990
Erfahrenes Mitglied
Hallo!
Ich benütze dieses Upload Script, für die Bilder:
Im Firefox funktioniert das ganz super, aber beim Internet Explorer kommt immer diese Meldung:
Das Bild muss folgende Endung haben: jpg, jpeg, gif, oder png!
Das Bild hat aber diese Endung.
Diese Fehlermeldung enststeht durch das:
Was habe ich falsch gemacht?
Danke!
Ich benütze dieses Upload Script, für die Bilder:
PHP:
<?php
if(isset($_POST["upload_title"]))
{
// Variabeln festlegen
$max_byte_size = 1048576;
$allowed_types = "(jpg|jpeg|gif|png)";
// Formular wurde abgeschickt
if($_POST["upload_title"] == "Hochladen") {
// Wurde wirklich eine Datei hochgeladen?
if(is_uploaded_file($_FILES["file"]["tmp_name"])) {
// Gültige Endung? ($ = Am Ende des Dateinamens) (/i = Groß- Kleinschreibung nicht berücksichtigen)
if(preg_match("/\." . $allowed_types . "$/i", $_FILES["file"]["name"])) {
// Datei auch nicht zu groß
if($_FILES["file"]["size"] <= $max_byte_size) {
//Ob die Datei Leerzeichen enthält
if(!preg_match('/[^0-9a-zA-Z-_.]/', $_FILES["file"]["name"])){
//Image Header Überprüfen (MIME HEADER)
if(
$_FILES["file"]["type"] == "image/jpeg" OR
$_FILES["file"]["type"] == "image/pjpeg" OR
$_FILES["file"]["type"] == "image/gif" OR
$_FILES["file"]["type"] == "image/png"
)
{
$size = $_FILES["file"]["size"];
// Alles OK -> Datei kopieren
include("resize.php");
scaleimage2(150);
$name = "./fotoalbum/$id/".$time."_".$_FILES["file"]["name"];
$name2 = $time."_".$_FILES["file"]["name"];
$typ = $_FILES["file"]["type"];
if(move_uploaded_file($_FILES["file"]["tmp_name"], $name)) {
$insert_titel = mysql_query("UPDATE `fotoalbum` SET `titelbild` = '$name2' WHERE `id` = '$id'") OR DIE(mysql_error());
echo '<p>';
echo '<div align="center"><b>Titelbild erfolgreich hochgeladen!</b><p>';
echo '<b><a href="fotoalbum-'.$benutzername_section.'.html"> << Zur Übersicht>> </a></b></div>';
}
else {
echo "<div class=\"error\">Datei konnte nicht hochgeladen werden.</div>";
}
}
else {
echo "<div class=\"error\">Das Bild muss folgende Endung haben: jpg, jpeg, gif, oder png!</div>";
}
}
else {
echo '<div class="error">Das Bild darf keine Leerzeichen enthalten!</div>';
}
}
else {
echo "<div class=\"error\">Die Datei darf nur eine Größe von 1 Megabyte (mb) besitzen.</div>";
}
}
else {
echo "<div class=\"error\">Die Datei besitzt eine ungültige Endung.</div>";
}
}
else {
echo "<div class=\"error\">Keine Datei zum Hochladen angegeben.</div>";
}
}
else {
echo "<div class=\"error\">Bitte benutzen Sie das Upload Formular.</div>";
}
}
?>
Im Firefox funktioniert das ganz super, aber beim Internet Explorer kommt immer diese Meldung:
Das Bild muss folgende Endung haben: jpg, jpeg, gif, oder png!
Das Bild hat aber diese Endung.
Diese Fehlermeldung enststeht durch das:
PHP:
//Image Header Überprüfen (MIME HEADER)
if(
$_FILES["file"]["type"] == "image/jpeg" OR
$_FILES["file"]["type"] == "image/pjpeg" OR
$_FILES["file"]["type"] == "image/gif" OR
$_FILES["file"]["type"] == "image/png"
)
{
Was habe ich falsch gemacht?
Danke!