Soucis avec un tableau

Soucis avec un tableau - PHP - Programmation

Marsh Posté le 14-12-2006 à 12:21:35    

J'ai une erreur :  
Warning: in_array(): Wrong datatype for second argument in e:\easyphp1-8\www\class_myftp.php on line 34
 
Voici le code en question, la ligne 34 c'est la 1er ici :
 
if( !in_array( substr(strrchr($prmFichier['name'], "." ), 1), $this->extensions_ok))  
{  
  $erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';        
}
 
Avec $this->extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
 
Voila je comprends pas ou est mon erreur, si vous pouvez m'aider ???
 
Cordialement Pierre

Reply

Marsh Posté le 14-12-2006 à 12:21:35   

Reply

Marsh Posté le 14-12-2006 à 12:34:47    

cmoapierre a écrit :


Avec $this->extensions_ok = array('png', 'gif', 'jpg', 'jpeg');


T'en est vraiment certain ?

Reply

Marsh Posté le 14-12-2006 à 14:02:00    

pour les images, il est dangereux de se fier a l'extension ( par exemple un fichier flash avec l'extension .gif passera )
 
regarde plutot du cote de exif_imagetype  
http://us3.php.net/manual/en/funct [...] getype.php

Reply

Marsh Posté le 14-12-2006 à 14:14:48    

the $this, tu l'utilises bien uniquement à l'intérieur de ta classe?

Reply

Marsh Posté le 14-12-2006 à 14:40:46    

oui oui j'avais oublier de préciser tout mon code est dans une classe !
 
flo850 -> Je vais regarder

Reply

Marsh Posté le 14-12-2006 à 14:50:28    

En fait l'extension je m'en fous un peu pour l'instant de toute facon ya un erreur avec le tableau donc voila

Reply

Marsh Posté le 14-12-2006 à 14:52:23    

et ca te dirait de faire un truc completement fou genre... debugger ?

Reply

Marsh Posté le 14-12-2006 à 14:59:35    

lol j'ai bien essayer tiens

Reply

Marsh Posté le 14-12-2006 à 15:04:20    

print_r($this->extensions_ok) [:dawa]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 14-12-2006 à 15:08:21    

lol ben c'est tant pis alors mdr

Reply

Marsh Posté le 14-12-2006 à 15:08:21   

Reply

Marsh Posté le 14-12-2006 à 15:19:20    

j'essayerais se soir et je vous dirais quoi

Reply

Marsh Posté le 14-12-2006 à 15:21:06    

Je parie un euro que le deuxieme argument de la fonction in_array n'est pas du bon type.
 
Une idée, comme ça.

Reply

Marsh Posté le 14-12-2006 à 15:22:56    

Tu bluffes.[:petrus75]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 14-12-2006 à 15:50:53    

Et si tu recuperais le mime type de l'image avec une fonction comme getimagesize ?

Code :
  1. $image_infos = getimagesize($ton_image);
  2. $mime = $image_infos['mime'];


 
Mais exif_imagetype() serait surement plus rapide, je te l'accorde.

Reply

Marsh Posté le 14-12-2006 à 15:51:25    

ba j'ai bien compris mais j'ai essayer en mettant directement le tableau toujours pareil

Reply

Marsh Posté le 14-12-2006 à 15:55:19    

Genre ça tu vas dire qe ça marche pas ?

Code :
  1. in_array("prout", array("prout","tagada","pouet" ));

Reply

Marsh Posté le 14-12-2006 à 15:56:17    

Essaie peut etre en decomposant ton if :
 

Code :
  1. $extension = strrchr($prmFichier['name'], "." );
  2. $extension = substr($extension, 1);
  3. $allowed_estenxions = $this->extensions_ok;
  4. if( !in_array($extension,$allowed_extensions) )
  5. {
  6.              ....
  7. }


Message édité par vanadium le 14-12-2006 à 15:56:51
Reply

Marsh Posté le 14-12-2006 à 16:48:31    

j'essayerais ta solution vanadium merci bcp.

Reply

Marsh Posté le 14-12-2006 à 16:54:57    

en espérant avoir pu t'aider. :jap:

Reply

Sujets relatifs:

Leave a Replay

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