In_array() expects parameter 2 to be array
Résolu
lolerki
Messages postés
606
Date d'inscription
Statut
Membre
Dernière intervention
-
lolerki Messages postés 606 Date d'inscription Statut Membre Dernière intervention -
lolerki Messages postés 606 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis entrain de developper une fonction pour upload un fichier en php, mais je rencontre le problème suivant
"in_array() expects parameter 2 to be array, string given in"
Lorsque je souhaite vérifier l'extension du fichier. Je sais qu'il faut retourner un tableau (si je dis pas de bêtises) mais je ne comprends pas top commen faire.
Voici le code en question :
Merci de votre aide !
Je suis entrain de developper une fonction pour upload un fichier en php, mais je rencontre le problème suivant
"in_array() expects parameter 2 to be array, string given in"
Lorsque je souhaite vérifier l'extension du fichier. Je sais qu'il faut retourner un tableau (si je dis pas de bêtises) mais je ne comprends pas top commen faire.
Voici le code en question :
function upload($destination,$extension =false,$maxsize=false,$size=false) { if(empty($_FILES['img']) || $_FILES['img']['error'] >0) //s'il n'y a des erreur { echo 'Erreur : l\'upload c\'est mal passer'; } $ext = strtolower(substr(strrchr($_FILES['img']['name'], "."),1)); //verification des extensions if($extension !=false && !in_array($ext, $extension)) //on verifie si l'extension est correct { echo 'l\'extension ne correspond pas au type autoriser (png, jpg, bmp, jpeg)'; return false; } if($maxsize !=false && $_FILES['img']['size'] > $maxsize) { echo 'La taille de l\image est trop élevèes'; return false; } $dimension = getimagesize($_FILES['img']['tmp_name']); if($size != false && $dimension[0] > $size[0] || $dimension[1] > $size[1]) { echo 'Les dimensions sont trop élevèes'; return false; } return move_uploaded_file($_FILES['img']['tmp_name'], $destination.mt_rand(0,1000)."-".$_FILES['img']['name']); } if(!empty($_POST['nv_img'])) { if(upload("img","../", array("png","jpg","bmp","jpeg"),10240,array(800,600)) == true) { echo 'Le fichier à été télécharger avec succès !'; } }
Merci de votre aide !
A voir également:
- In_array() expects parameter 2 to be array, string given
- Supercopier 2 - Télécharger - Gestion de fichiers
- Qwerty to azerty - Guide
- 2 ecran pc - Guide
- Video to video - Télécharger - Conversion & Codecs
- Majuscule to minuscule - Guide
2 réponses
Salut,
tu sais que tu dois passer un tableau, mais par défaut, tu mets un booléen dans ta variable, ça va pas trop.
Mieux vaut passer un tableau vide comme valeur par défaut et contrôler si ce tableau n'est pas vide un peu plus bas.
Ensuite, il te dit que tu passes un string. Bah tu lui passes quoi à ce paramètre ? Le bout de code que tu montres ne permet pas de le savoir.
tu sais que tu dois passer un tableau, mais par défaut, tu mets un booléen dans ta variable, ça va pas trop.
Mieux vaut passer un tableau vide comme valeur par défaut et contrôler si ce tableau n'est pas vide un peu plus bas.
Ensuite, il te dit que tu passes un string. Bah tu lui passes quoi à ce paramètre ? Le bout de code que tu montres ne permet pas de le savoir.
Merci de ta réponse,
J'a suivie un tutoriel video pour réaliser ce code (étant donner que je débute). Je n'ai rien de plus a par le formulaire html, alors je ne comprends pas ta dernière phrase. Le code ne serait pas complet ?
J'a suivie un tutoriel video pour réaliser ce code (étant donner que je débute). Je n'ai rien de plus a par le formulaire html, alors je ne comprends pas ta dernière phrase. Le code ne serait pas complet ?