Seite 1 von 2

filetype: .gif ODER .zip erlauben ?!?

Verfasst: 07.02.2003 23:27
von AWSW
Hallo,
ich verzweifle gerade an einer If-Abfrage:
if($_FILES["datei"]["type"] != "image/gif") || ($_FILES["datei"]["type"] != "file/zip") {
message_die(GENERAL_MESSAGE, "Bitte nur <b>.gif</b> oder <b>.zip</b> Dateien auswählen !");
exit;
}
Wenn ich den roten Codeteil weg lasse läuft das Script durch, ansonsten erhalte ich eine Fehlermeldung...

Wie muss ich bitte in PHP eine solche If Abfrage formulieren, so dass die GENERAL_MESSAGE nicht erscheint, wenn entweder .gif oder .zip Dateien ausgewählt wurden ???

Ich habe schon meine Bücher und das "PHP Handbuch" von Egon Schmid durch gewühlt, bin aber leider nicht fündig geworden *schnief*

Danke für jeden Tipp :D

Re: filetype: .gif ODER .zip erlauben ?!?

Verfasst: 07.02.2003 23:47
von Korny
Ändere doch mal bitte wie folgt:
if($_FILES["datei"]["type"] != "image/gif") && ($_FILES["datei"]["type"] != "file/zip") {
message_die(GENERAL_MESSAGE, "Bitte nur <b>.gif</b> oder <b>.zip</b> Dateien auswählen !");
exit;
}
Andersfalls wäre Deine Abfrage immer wahr, denn jeder Dateityp ist entweder ungleich gif oder ungleich zip. ;)

Das "exit ;" kannst Du Dir übrigens sparen. :)

Verfasst: 08.02.2003 00:00
von AWSW
Hallo und Danke für Deine Mühe,
leider erhalte ich auch in dieser Schreibweise
if($_FILES["datei"]["type"] != "image/gif") && ($_FILES["datei"]["type"] != "file/zip") {
message_die(GENERAL_MESSAGE, "Bitte nur <b>.gif</b> oder <b>.zip</b> Dateien auswählen !");
exit;
}
diese Fehlermeldung:
Parse error: parse error, unexpected T_BOOLEAN_AND in testdatei.php
Ich muss zugeben dass ich mir auch in diesem Abschnitt zur Angabe des Typs ZIP nicht sicher bin:
file/zip

Danke vorab :cry:

Verfasst: 08.02.2003 00:12
von Korny
Hi,

ich meinte eigentlich, dass Du in Deinem Beispiel nur die || durch && ersetzen solltest, oder:
if (($_FILES["datei"]["type"] != "image/gif") && ($_FILES["datei"]["type"] != "file/zip"))
{
message_die(GENERAL_MESSAGE, "Bitte nur <b>.gif</b> oder <b>.zip</b> Dateien auswählen !");
exit;
}
Und probiere mal: application/zip

Verfasst: 08.02.2003 00:39
von AWSW
Aha :D

Nun erhalte ich bei der Auswahl der .gif schon mal nicht mehr die Fehlermeldung, kann aber leider noch keine .zip wählen...

Stimmt vielleicht die Angabe ~filetyp~/ZIP noch nicht ?!?

Danke für Input :wink:

Verfasst: 08.02.2003 00:43
von Korny
Nach selfhtml ist der Mime-Typ "application/zip" richtig.

Also:
if (($_FILES["datei"]["type"] != "image/gif") && ($_FILES["datei"]["type"] != "application/zip"))
{
message_die(GENERAL_MESSAGE, "Bitte nur <b>.gif</b> oder <b>.zip</b> Dateien auswählen !");
exit;
}
Sorry, mehr fällt mir nicht ein...

Quelle:
http://selfhtml.teamone.de/diverses/mim ... uebersicht

Verfasst: 08.02.2003 00:53
von AWSW
Hmm schade - das ZIP will noch nicht...

Danke Dir trotzdem :wink: :D

Verfasst: 08.02.2003 00:59
von Jensemann
Ähm, nach mime type zu gehen ist nicht unbedingt sinnvoll, da doch einige browser absoluten müll anstatt eines ordentlich mime types senden.

Verfasst: 08.02.2003 01:01
von Korny
So, jetzt will ich aber !!! :)
if (($_FILES["datei"]["type"] != "image/gif") && ($_FILES["datei"]["type"] != "application/x-zip-compressed"))
{
message_die(GENERAL_MESSAGE, "Bitte nur <b>.gif</b> oder <b>.zip</b> Dateien auswählen !");
exit;
}
Ich wette, dass es jetzt klappt...

Verfasst: 08.02.2003 02:54
von AWSW
:D Jetzt klappts 1a :D

Welche Browser wären davon denn betroffen und wie könnte man das besser lösen ?!?

Danke Euch :D