Erreur de test avec plus de 2 : $_FILES - PHP - Programmation
Marsh Posté le 11-11-2005 à 16:27:55
Il faut changer le or en and et cela marchera.
C'est le piège classique du non respect de la loi de Morgan .
Cette loi énonce que le contraire de A or B est nonA and nonB.
Marsh Posté le 12-11-2005 à 10:07:44
Heu c'est pas un || qui est le contraire de "or" ?
Parce-que une image n'aura jamais deux extensions differentes...donc le "and" risque fort de ne pas marcher ?
Marsh Posté le 12-11-2005 à 10:33:42
|| c'est pas le contraire mais l'équivalent de 'or'.
x <> a || x <> b n'a aucun sens et renverra toujours vrai.
Marsh Posté le 12-11-2005 à 16:19:34
effectivement ça ne marche pas en mettant "and" ou "or" c'est bizar...
Marsh Posté le 12-11-2005 à 18:22:22
En PHP (et C), "et" est "&&" (c'est "and" en Basic et SQL).
En PHP (et C), "ou" est "||" (c'est "or" en Basic et SQL).
Marsh Posté le 11-11-2005 à 14:38:17
Hello
Je voudrais faire des testes sur le fichier mis dans mon type file du formulaire donc en gros je voudrais mettre que des images alors quand je fais ma boucle
if ($_FILES['image']['type'] <> "image/gif" )
{
echo "Le fichier n'a pas peu être uploader car l'extension n'est pas valide (jpg/gif) ou le champ est vide<br>";
}
Là il n'y a pas de souci, il n'accepte que les fichiers de type .gif
En revanche si je veux mettre un autre test comme :
if (($_FILES['image']['type'] <> "image/gif" ) or ($_FILES['image']['type'] <> "image/jpg" ))
{
echo "Le fichier n'a pas peu être uploader car l'extension n'est pas valide (jpg/gif) ou le champ est vide<br>";
}
Il n'accepte aucun type même le gif et jpg...je ne vois vraiment pas pourquoi...