Aide pour un "if"

[Résolu]
Signaler
Messages postés
25
Date d'inscription
mardi 11 mars 2003
Statut
Membre
Dernière intervention
30 avril 2009
-
Messages postés
25
Date d'inscription
mardi 11 mars 2003
Statut
Membre
Dernière intervention
30 avril 2009
-
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

Messages postés
403
Date d'inscription
mercredi 19 avril 2006
Statut
Membre
Dernière intervention
7 août 2020
1
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.
Messages postés
121
Date d'inscription
vendredi 31 mars 2006
Statut
Membre
Dernière intervention
30 décembre 2010

Bonjour,

Voici la syntaxe

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

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

Morpheus
Messages postés
25
Date d'inscription
mardi 11 mars 2003
Statut
Membre
Dernière intervention
30 avril 2009

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
Messages postés
403
Date d'inscription
mercredi 19 avril 2006
Statut
Membre
Dernière intervention
7 août 2020
1
Petite rectification :

dans l'exemple si dessus, il faut utiliser la fonction strtolower à la place de la fonction strtoupper.
Messages postés
25
Date d'inscription
mardi 11 mars 2003
Statut
Membre
Dernière intervention
30 avril 2009

Merci ca marche impecable!

a+