Vet inte vad felet är här..if-satsen fungerar med enbart det första villkoret, men inte när jag lägger till det andra (ifrån "or"). Det funkar även när jag enbart kör det andra villkoret. Är det något fel i syntaxen?
$filtype1 = explode(".",$_FILES['file1']['name']);
$elemetsinarray=count($filtype1)-1;
if ($filtype1[$elemetsinarray]!="MP3" || $filtype1[$elemetsinarray]!="mp3"){
$error = "Du har valt en fil i felaktigt format. Mp3-filer är det enda som accepteras.";
header('location:laddaupp4.php?error='.$error.''); break;
}
if (($filtype1[$elemetsinarray]!="MP3") || ($filtype1[$elemetsinarray]!="mp3")){
$error = "Du har valt en fil i felaktigt format. Mp3-filer äwr det enda som accepteras.";
header('location:laddaupp4.php?error='.$error.''); break;
}
Nu ser jag vad du har gjort för fel; om filsuffixet är "MP3", då kommer ju det första villkoret bli falskt. Men eftersom du har ditt "or"-villkor, testar den även det andra villkoret. Och där faller det ut annorlunda, eftersom filsuffixet faktiskt inte är ="mp3". Alltså kommer du alltid få resultatet att filsuffixet är fel.
Du borde snarare testa:
if ((suffix=="mp3") || (suffix=="MP3"))
{
}
else
{
klaga på filformat;
}