Aide pour un "if"

Résolu
Dexterage Messages postés 25 Date d'inscription mardi 11 mars 2003 Statut Membre Dernière intervention 30 avril 2009 - 4 oct. 2007 à 10:55
Dexterage Messages postés 25 Date d'inscription mardi 11 mars 2003 Statut Membre Dernière intervention 30 avril 2009 - 4 oct. 2007 à 13:22
Bonjour,

Une question toute simple mais je me prend la tete !

Je voudrais faire un IF qui teste une variable pour plusieurs valeurs :

if ($extension == '.jpg' || '.JPG')

Mais il rentre quand meme dans mon IF alors que $extension n'est pas bon.
on peut pas utiliser un OU pour un IF?

Merci

5 réponses

lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
4 oct. 2007 à 13:04
Bonjour,

Si tu as plusieurs extension possible, le mieux est d'utiliser un tableau selon moi :

$extension_valable = array(".jpg",".gif",".png");

if (in_array(strtoupper($extension),$extension_valable)){

// Ton code
}

Ainsi même le jour ou tu voudras modifier cette condition, il te suffira de seulement modifier le tableau.

Bonne prog.
cs_morpheus57 Messages postés 121 Date d'inscription vendredi 31 mars 2006 Statut Membre Dernière intervention 30 décembre 2010
4 oct. 2007 à 12:08
Bonjour,

Voici la syntaxe

if ($extension == '.jpg' ||
$extension ==
'.JPG')

Mais tu peux simplifier le test :
if (strtoupper($extension) == '.JPG' )

Morpheus
Dexterage Messages postés 25 Date d'inscription mardi 11 mars 2003 Statut Membre Dernière intervention 30 avril 2009
4 oct. 2007 à 12:28
Merci morpheus.

Mais ce que je voudrais faire c'est par exemple :
if ($extension '.jpg' || $extension '.gif' || $extension == '.png')

les extensions seraient récupérer d'un autre fichier parametre, rassemblant toute les extensions à sélectionner.

j'ai testé ceci :

$ext_valide="";

$fp=fopen("param.php","r");
while(!feof($fp))
{
    $fichier_texte=fgets($fp,6);
    if (substr($fichier_texte,0,1)=="."){
        if ($ext_valide=="")
        {$ext_valide=$fichier_texte;}
        else
        {$ext_valide=$ext_valide.' || '.$fichier_texte;}
    }
} 
fclose($fp);

if($extension == $ext_valide)


Ca marche si mon fichier param.php ne comporte qu'une seul extension, mais plusieurs, ca ne fonctionne pas
lesdis Messages postés 403 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 7 août 2020
4 oct. 2007 à 13:07
Petite rectification :

dans l'exemple si dessus, il faut utiliser la fonction strtolower à la place de la fonction strtoupper.

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dexterage Messages postés 25 Date d'inscription mardi 11 mars 2003 Statut Membre Dernière intervention 30 avril 2009
4 oct. 2007 à 13:22
Merci ca marche impecable!

a+
Rejoignez-nous