php Script Frage

Sep2009

Grünschnabel
Guten Tag,

ich habe mir heute für meine Seite ein image upload Script runtergeldaden.
Darin ist folgender Code enthalten:
PHP:
if(!($_FILES[image][type] == 'image/jpeg' OR $_FILES[image][type] == 'image/gif'))

Wie kann ich diesen nun erweitern, damit z.b pdf und rar Dateien auch hochladbar sind?

Danke.
 
Danke, das hat geholfen!

Nun habe ich folgendes Problem:
Wenn ich eine pdf hochlade, wird der Name geändert, auf ".html", Bilder funktionieren ohne Probleme.
Hier die Stelle, von der ich vermute, dass sie Schuld daran ist.(Hoffe ich habe nicht völligen schwachsin gemacht...)
PHP:
switch($_FILES[image][type])
{
case 'image/jpeg';
$name = "$name23.jpg";
break;
case 'image/gif';
$name = "$name23.gif";
break;
case 'image/png';
$name = "$name23.png";
break;
}
switch ($_FILES [application][type]) 
{
case 'application/pdf';
$name = "$name23.pdf";
break;
}

$name = $userverz."/".$name;
//------------------------------ HTML SEITE  ERSTELLEN ---------------------------
switch ($_FILES [application][type]) 
{
case 'application/pdf';
copy($_FILES[application][tmp_name], $name);
break;
}
switch ($_FILES [image][type]) 
{
case 'image/png';
copy($_FILES[image][tmp_name], $name);
break;
case 'image/gif';
copy($_FILES[image][tmp_name], $name);
break;
case 'image/jpeg';
copy($_FILES[image][tmp_name], $name);
break;
}

Kann mir jemand helfen, ich komme nicht dahinter.

Danke!^^
 
Zuletzt bearbeitet:
Du sag mal, verwendest du für den Upload denn eigentlich 2 verschiedene Variablen? Also "image" und "application"? Hast du mal geprüft ob dein Switch überhaupt durchlaufen wird, beispielsweise mit einer einfachen Ausgabe über echo()?

Meines Wissens nach sollte man übrigens folgendes schreiben:
PHP:
$_FILES['image']['type']

Heißt die Anführungszeichen sollten gesetzt werden. Es funktioniert wohl auch ohne, aber ich meine mich dran erinnern zu können, dass dies in PHP eigentlich falsch ist.

Lg,
Manuel ;-]
 
Danke.
Ich hab es nun geschaft, dass Text Dateien funktionieren.

Nun sieht es so aus.
PHP:
switch($_FILES['image']['type'] )
{
case 'image/jpeg';
$name = "$name23.jpg";

break;
case 'image/gif';
$name = "$name23.gif";
break;
case 'image/png';
$name = "$name23.png";
break;
case 'text/plain';
$name = "$name23.txt";
break;
}
Nun hbe ich nach dem letzem break folgendes hingestetzt:
PHP:
case 'application/rtf';
$name = "$name23.rtf";
echo "rtf";
break;
case 'application/msword';
$name = "$name23.doc";
echo "word";
break;
case 'application/mspowerpoint';
$name = "$name23.ppt";
echo "ppt";
break;
case 'application/msexcel';
$name = "$name23.xls";
echo "xls";
break;
Nun klappt das wieder nicht.Ich weiß nicht was jetzt das Problem ist, da es doch eigentlich gleich geschrieben ist wie das txt. Wenn ich es auf html verändere klappt es auch. Nur wenn ich dann application oder auch audio mache geht es nicht.
 
Zuletzt bearbeitet:
Zurück