Hi
Ich hab ein großes Problem beim Dateien uploaden und zwar kommt immer: Unerlaubtes Dateiformat, obwohl es erlaubt ist.
Hier ist mein Code:
Ich hab auch schon versucht, $type auszugegeben, doch es kommt nix.
lg
Ich hab ein großes Problem beim Dateien uploaden und zwar kommt immer: Unerlaubtes Dateiformat, obwohl es erlaubt ist.
Hier ist mein Code:
PHP:
<?php
#################################### BILDER ####################################
$_UPLOAD_CONFIG = Array (
'filetype' => Array ('image/jpg','image/jpeg','image/png','image/gif'),
'max-size' => "4194304",
'target' => "img" # target folder for uploads
);
#################################### ENDE ####################################
if(isset($_POST['submit']))
{
$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
$rand = rand(0,1000000);
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
$file = $_UPLOAD_CONFIG['target'].'/'.$rand.'-'.$_FILES['file']['name'];
$filename = ''.$rand.'-'.$_FILES['file']['name'].'';
if(empty($_POST['kategorie']) || empty($_POST['titel'])|| empty($_POST['beschreibung']) || empty($_POST['tage']))
{
echo "Bitte föllen Sie alle Felder aus!";
}
else
{
if(empty($_POST['file2']))
{
if(!in_array("".$type."", $_UPLOAD_CONFIG['filetype']))
{
$err[] = "Unerlaubtes Dateiformat!";
}
if($size > $_UPLOAD_CONFIG['max-size'])
{
$err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt ".$size." byte!";
}
$size2 = getimagesize($_FILES['file']['tmp_name']);
/////////////////////////////////////////////////////////////////////////////
function createThumb($file, $filename)
{
// Bilddaten feststellen
$size=getimagesize($file);
$breite=$size[0];
$hoehe=$size[1];
//hier die Breite festlegen
//$neueBreite=150;
//$neueHoehe=intval($hoehe*$neueBreite/$breite);
$neueBreite = 80;
$neueHoehe = 60;
if($size[2]==1)
{
// GIF
$altesBild=ImageCreateFromGIF($file);
$neuesBild=ImageCreate($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImageGIF($neuesBild, "thumbs/".$filename."");
}
elseif($size[2]==2)
{
// JPG
$altesBild=ImageCreateFromJPEG($file);
$neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImageJPEG($neuesBild, "thumbs/".$filename."");
}
elseif($size[2]==3)
{
// PNG
$altesBild=ImageCreateFromPNG($file);
$neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImagePNG($neuesBild, "thumbs/".$filename."");
}
}
function createImage($name, $tempname, $filename, $_UPLOAD_CONFIG)
{
// Bilddaten feststellen
$size=getimagesize($tempname);
$breite=$size[0];
$hoehe=$size[1];
//hier die Breite festlegen
//$neueBreite=400;
//$neueHoehe=intval($hoehe*$neueBreite/$breite);
$neueBreite = 800;
$neueHoehe = 600;
if($size[2]==1)
{
// GIF
$altesBild=ImageCreateFromGIF($tempname);
$neuesBild=ImageCreate($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImageGIF($neuesBild, "".$_UPLOAD_CONFIG['target']."/".$filename."");
}
elseif($size[2]==2)
{
// JPG
$altesBild=ImageCreateFromJPEG($tempname);
$neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImageJPEG($neuesBild, "".$_UPLOAD_CONFIG['target']."/".$filename."");
}
elseif($size[2]==3)
{
// PNG
$altesBild=ImageCreateFromPNG($tempname);
$neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImagePNG($neuesBild, "".$_UPLOAD_CONFIG['target']."/".$filename."");
}
}
////////////////////////////////////////////////////////////////////////////
if(empty($err))
{
if($size2[0] > 800)
{
createImage($name, $tempname, $filename, $_UPLOAD_CONFIG);
createThumb($file, $filename);
$bild1 = ''.$_UPLOAD_CONFIG['target'].'/'.$filename.'';
$thumb1 = 'thumbs/'.$filename.'';
$sql = 'INSERT INTO `'.$mysql_table_articles.'` (kategorie, titel, beschreibung, tage, user_id, datum, ip, bild1, thumb1, bild2, thumb2) VALUES ("'.$mysql_real_escape_string($_POST['kategorie']).'", "'.$mysql_real_escape_string($_POST['titel']).'", "'.$mysql_real_escape_string($_POST['beschreibung']).'", "'.$mysql_real_escape_string($_POST['tage']).'", "'.$mysql_real_escape_string($_SESSION['user_id']).'", "'.$mysql_real_escape_string(time()).'", "'.$mysql_real_escape_string($_SERVER['REMOTE_ADDR']).'", "'.$mysql_real_escape_string($bild1).'", "'.$mysql_real_escape_string($thumb1).'")';
mysql_query($sql);
echo "Die Datei wurde erfolgreich hochgeladen!<br />";
}
else
{
copy($_FILES['file']['tmp_name'], $_UPLOAD_CONFIG['target'].'/'.$rand.'-'.$_FILES['file']['name']);
createThumb($file, $filename);
echo "Die Datei wurde erfolgreich hochgeladen!<br />";
}
}
else
{
foreach($err as $error)
echo "$error<br>";
}
}
else
{
}
}
}
else
{
echo '
<form action="" method="post">
<table width="'.$_CONFIG['table_width'].'" border="0" align="center">
<tr>
<td class="table2">Kategorie</td>
<td class="table2">
<select name="kategorie">
<option value="1">Verkauf</option>
<option value="2">Suche</option>
<option value="3">Dienstleistungen</option>
</td>
</tr>
<tr>
<td class="table1">Titel</td>
<td class="table1"><input type="text" name="titel" size="30" /></td>
</tr>
<tr>
<td class="table2">Beschreibung</td>
<td class="table2"><textarea name="beschreibung" cols="40" rows="5"></textarea></td>
</tr>
<tr>
<td class="table1">Automatisch löschen</td>
<td class="table1">
<select name="tage" size="3">
<option value="15">15 Tagen</option>
<option value="30">30 Tagen</option>
<option value="45">45 Tagen</option>
</select>
</td>
</tr>
<tr>
<td class="table2">Bild 1</td>
<td class="table2"><input type="file" name="file" size="30"></td>
</tr>
<tr>
<td class="table1">Bild 2</td>
<td class="table1"><input type="file" name="file2" size="30"></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="table1"> </td>
<td class="table1"><input type="submit" name="submit" value="Eintragen" /></td>
</tr>
</table></form>
';
}
?>
lg