Wo liegt der Fehler? (split)

BigFacker

Erfahrenes Mitglied
Hallo


und zwar brauch ich ein Script, was dateiendungen überprüft, aber nur gif und jpg zulässt

PHP:
$teilen = split("\.", $uploadfile_name);
if($test[1] != "gif" or $test[1] != "jpg")
{
echo "falsche Endung!";
}

In diesem Script kommt immer "falsche Endung", egal ob die endung gif oder jpg oder sdsd ist.

Also, die Variable $uploadfile_name ist richtig, da is korrekt. Es geht auch, wenn ich das OR weglasse und nur auf das gif prüfe. Mein Problem ist aber, wenn ich das ganze mit elseif machen würde, anstatt ders OR's´, und gif in der ersten if-überprüfung kommt, dann würden bei JPG-Bildern immerfehler kommen, da jpg nunmal nicht guf is. Deshalb geht das nur mit dem OR:(

Kann mir einer helfen???

DANKE!
 
jope hast recht...maches sieht man um die Zeit net mehr:) Trotzde,m gehts immernoch net....das listing sieht jetzt so aus...

PHP:
$teilen = split(".", $uploadfile_name);
if($teilen[1] != "gif" or $teilen[1] != "jpg")
{
echo "falsche Endung!";
}

mhh mhh woran kanns noch liegen?

DANKE!
 
Machs so dann haste zb auch nicht das problem wenn ein file folgendermaßen heisst: dada.blablub.gif


PHP:
if(!eregi("\.(jpg|gif)$", $uploadfile_name) )
{
echo "falsche endung!"; 
}

edit: BITTÄ!
 
na an dem konnte es aber nicht liegen (ausser du hast hatl ein bild mit einem . im dateinamen gehabt)

die variable $uploadfile_name ist afaik nicht mehr richtig, zumindest geht es bei mir (php 4.2.0) nicht.

egentlich müsste es $_FILES['uploadfile']['type'] heissen, was bei mir aber auch nicht geht. Wie ist denn nun der richtige name ?
 
$uploadfile_name geht bei mir einwand frei.. warum ändern die bei php solche kleinigkeiten wie auch mit den cookies??

das nervt mich total weil jetzt ein grade auf nem 4.1.1 fertig gestelltes script auf nem 4.2.0 er schon nicht mehr richtig läuft! :mad:
 
Also...nehmen wir an die Datei heißt "bild.jpg"...

du rufst das Script auf, und die if-Funktion fragt die Endung ab...

PHP:
<?php
$teilen = split(".", $uploadfile_name);
if($teilen[1] != "gif" or $teilen[1] != "jpg")
{
echo "falsche Endung!";
}
?>

die Bedingung ist also "Wenn Dateiendung ungleich gif oder wenn Dateiendung ungleich jpg, dann gib "Falsche Endung!" aus..."

okay...wenn die Datei nun die Endung "jpg" hat, dann trifft die Abfrage $teilen[1] !="gif" zu, und der gibt die Meldung aus...

also nur ein Logikfehler...
 
Zurück