mimearry Problem

dandre

Mitglied
Habe folgenes Formular:
PHP:
<form enctype='multipart/form-data' action='#' method='post'>
<font face='Verdana'>
<input type='hidden' name='MAX_FILE_SIZE' value='3000000'>
</font>
<b><font size='1'>Dateigröße: max. 3MB erlaubt sind: *.ppt |*.ppz| *.pps |*.pot </font></b><font size='2'><br>
</font>Datei:<input name='userfile' type='file' style='font-family: Verdana; font-size: 10pt; border: 1px dotted #000000; background-color: #5F86B6' size='20'><font size='2'>
</font><font size='2'> </font>
<input type='submit' name='senden' value='upload' style='font-family: Verdana; font-size: 10pt; border: 1px dotted #000000; background-color: #5F86B6'></form>



<?php

// Zuerst bauen wir eine Verbindung zur Datenbank auf

$verbindung = mysql_connect ('mysql.lima-city.de',
'USER77'***', ' ***')
or die ('keine Verbindung möglich.
Benutzername oder Passwort sind falsch');

mysql_select_db('db_77761_1')
or die ('Die Datenbank existiert nicht.');

$data = $_FILES['userfile']['name']; // Variable für Filename
$kategorie = $_POST['kategorie']; // Variable für Kategorie

// Ab jetzt fängt die Spamüberprüfung an, damit es keine doppelten Einträge gibt

if($data=='') // wenn leer, mace nix ansonsten gee zur Eintragsprüfung
{
echo '<p></p>';
}
else
{
if(file_exists('uploadbilder/'.$data.'')) // wenn Datei existiert, mace nix
//ansonsten gehe zum Dateiupload uploadbilder ist das uploadverzeichnis
{
echo 'Diese Datei existiert bereits. Bitte benennen Sie die Datei um!';
}
else
{
// In PHP kleiner als 4.1.0 sollten Sie $HTTP_POST_FILES anstatt $_FILES verwenden.
// In PHP kleiner als 4.0.3 verwenden man copy() und is_uploaded_file() anstatt von
// move_uploaded_file()

//Deklaration der gültigen typen - Hier könnt ihr weitere hinzufügen
$mimearray=array('application/mspowerpoint');

//Upload verzeichnis
$uploaddir = 'uploadbilder/';
//Prüfen ob Formular gesendet wurde
if($_POST['senden']==true){
// Prüfung auf Gültigkeit des Vordeklarierten MimeTyps
if(in_array($_FILES['userfile']['type'],$mimearray))
{
// dateiupload
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
print 'Datei ist gültig und wurde erfolgreich hochgeladen. <br>Debugginginfo:n';
print '<br>';
print 'Name: '.$_FILES['userfile']['name'].'<br>';
print 'Größe: '.$_FILES['userfile']['size'].'<br>';
print 'Typ: '.$_FILES['userfile']['type'].'<br>';


$eintrag = "INSERT INTO uploadpowerpnt  (bild) VALUE ('".$data."')";



$eintragen = mysql_query($eintrag);
if($eintragen == true)
{
echo 'Eintrag erfolgreich in die Datenbank eingetragen';
}
}else{
// Fehler beim Dateiupload
print 'Fehler beim Dateiupload';
}
}else{
//Fehlermeldung wenn Datei nicht den vordeklarierten MimeTypes entspricht
print $_FILES['userfile']['name'].' - '.$_FILES['userfile']['type'].' <br>ist nicht für den Upload gestatet';
}
}
}
}
?>

Doch wenn ich eine .ppt datei hochladen will zeigt er :
adssad.ppt - application/vnd.ms-powerpoint
ist nicht für den Upload gestatet
an.
Ich weiß leider nicht warum? bitte helft mir.

Danke
 
Probier es mal so:
PHP:
<form enctype='multipart/form-data' action='#' method='post'>
<font face='Verdana'>
<input type='hidden' name='MAX_FILE_SIZE' value='3000000'>
</font>
<b><font size='1'>Dateigröße: max. 3MB erlaubt sind: *.ppt |*.ppz| *.pps |*.pot </font></b><font size='2'><br>
</font>Datei:<input name='userfile' type='file' style='font-family: Verdana; font-size: 10pt; border: 1px dotted #000000; background-color: #5F86B6' size='20'><font size='2'>
</font><font size='2'> </font>
<input type='submit' name='senden' value='upload' style='font-family: Verdana; font-size: 10pt; border: 1px dotted #000000; background-color: #5F86B6'></form>



<?php

// Zuerst bauen wir eine Verbindung zur Datenbank auf

$verbindung = mysql_connect ('mysql.lima-city.de',
'USER77'***', ' ***')
or die ('keine Verbindung möglich.
Benutzername oder Passwort sind falsch');

mysql_select_db('db_77761_1')
or die ('Die Datenbank existiert nicht.');

$data = $_FILES['userfile']['name']; // Variable für Filename
$kategorie = $_POST['kategorie']; // Variable für Kategorie

// Ab jetzt fängt die Spamüberprüfung an, damit es keine doppelten Einträge gibt

if($data=='') // wenn leer, mace nix ansonsten gee zur Eintragsprüfung
{
echo '<p></p>';
}
else
{
if(file_exists('uploadbilder/'.$data.'')) // wenn Datei existiert, mace nix
//ansonsten gehe zum Dateiupload uploadbilder ist das uploadverzeichnis
{
echo 'Diese Datei existiert bereits. Bitte benennen Sie die Datei um!';
}
else
{
// In PHP kleiner als 4.1.0 sollten Sie $HTTP_POST_FILES anstatt $_FILES verwenden.
// In PHP kleiner als 4.0.3 verwenden man copy() und is_uploaded_file() anstatt von
// move_uploaded_file()

//Deklaration der gültigen typen - Hier könnt ihr weitere hinzufügen
$mimearray=array('application/mspowerpoint','application/vnd.ms-powerpoint');

//Upload verzeichnis
$uploaddir = 'uploadbilder/';
//Prüfen ob Formular gesendet wurde
if($_POST['senden']==true){
// Prüfung auf Gültigkeit des Vordeklarierten MimeTyps
if(in_array($_FILES['userfile']['type'],$mimearray))
{
// dateiupload
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
print 'Datei ist gültig und wurde erfolgreich hochgeladen. <br>Debugginginfo:n';
print '<br>';
print 'Name: '.$_FILES['userfile']['name'].'<br>';
print 'Größe: '.$_FILES['userfile']['size'].'<br>';
print 'Typ: '.$_FILES['userfile']['type'].'<br>';


$eintrag = "INSERT INTO uploadpowerpnt  (bild) VALUE ('".$data."')";



$eintragen = mysql_query($eintrag);
if($eintragen == true)
{
echo 'Eintrag erfolgreich in die Datenbank eingetragen';
}
}else{
// Fehler beim Dateiupload
print 'Fehler beim Dateiupload';
}
}else{
//Fehlermeldung wenn Datei nicht den vordeklarierten MimeTypes entspricht
print $_FILES['userfile']['name'].' - '.$_FILES['userfile']['type'].' <br>ist nicht für den Upload gestatet';
}
}
}
}
?>
 
Zurück