Les regex??

Les regex?? - PHP - Programmation

Marsh Posté le 31-12-2005 à 19:14:34    

Salut,
j'aimerais avoir un peu d'aide avec les regex...
 

Code :
  1. if (preg_match('![a-z]!', $fichier))


 
Le if fonctionnera si $fichier contient au moins une lettre. Mais moi je veux qu'il fonctionne que si le fichier a n'importe quel nom mais qu'il a l'extention.jpg ou .gif.  
Par exemple:
mon_image18.jpg
dessin.gif
4dfd5ddd.jpg  
...etc
 
Je ne veux pas obligatoirement utiliser les regex mais je ne vois pas d'autres solutions...
Merci de bien vouloir m'aider sur ce problème,
 
Amicalement.

Reply

Marsh Posté le 31-12-2005 à 19:14:34   

Reply

Marsh Posté le 31-12-2005 à 19:38:57    

Pas besoin de regex pour ça

Code :
  1. $pathinfo = pathinfo($fichier,PATHINFO_EXTENSION)
  2. if (($pathinfo['extension'] == 'jpg') or ($pathinfo['extension'] == 'gif')){
  3. ...
  4. }


 
doit le faire aussi


Message édité par naceroth le 31-12-2005 à 19:39:16
Reply

Marsh Posté le 31-12-2005 à 19:55:57    

Merci mais tu es sûr de na pas avoir fait d'erreur? Car cela m'affiche ---> Parse error: parse error, unexpected T_IF in...

Reply

Marsh Posté le 31-12-2005 à 19:58:49    

mets un point-virgule à la fin de la première ligne

Reply

Marsh Posté le 31-12-2005 à 20:16:39    

En effet il n'y avait pas de point virgule  :)  . Mais même si je met une image en .jpg ou .gif la condition du if ne sera pas rempli!  :(

Reply

Marsh Posté le 31-12-2005 à 20:49:00    

essaie tout simplement :

Code :
  1. $pathinfo = pathinfo($fichier);
  2. if (($pathinfo['extension'] == 'jpg') or ($pathinfo['extension'] == 'gif')){
  3. ...
  4. }


Message édité par ritzle le 31-12-2005 à 20:49:09
Reply

Marsh Posté le 01-01-2006 à 04:36:52    

Y a aussi la solution du switch, qui malgré ce qu'on en dit, est pour moi la mieux adaptée s'il y a beaucoup d'extensions possibles.
 

Code :
  1. switch($pathinfo['extension']){
  2. case 'jpg':
  3. case 'jpeg':
  4. case 'gif':
  5. case 'png':
  6.  // ok
  7.  break;
  8. default:
  9.  // Extension invalide
  10. }

Reply

Marsh Posté le 01-01-2006 à 12:44:39    

je prefere avec un tableau
 

Code :
  1. <?php
  2. $ext = array( "jpg", "gif", "png" );
  3. if( in_array( $pathinfo['extension'], $ext ) )
  4. {
  5.    //OK
  6. }
  7. else
  8. {
  9.    //invalide
  10. }
  11. ?>

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed