Pb vérification type de fichier avant upload
Résolu/Fermé
Authentiks
Messages postés
16
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
22 février 2008
-
31 juil. 2007 à 12:06
Authentiks Messages postés 16 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 22 février 2008 - 31 juil. 2007 à 17:24
Authentiks Messages postés 16 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 22 février 2008 - 31 juil. 2007 à 17:24
A voir également:
- Pb vérification type de fichier avant upload
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier host - Guide
- Ouvrir fichier .bin - Guide
6 réponses
voila ton probleme :
supposons que l'upload du fichier fonctinne correctement on aura plus besoin de la partie "if" le programme passe à "else if" et la si le fichier est ".pdf" par exemple la conditionest verifier il entre jusqu ici c bon ton programme foctionne correctement....
maitenant si le fichier est un ".csv" la prmeiere partie($extension!= ".csv") n'est pas verfier normalement il entre pas sauf que la 2eme partie ($extension!= ".xls") est verifiée et t a un "ou" (||)entre les deux:il entre donc....meme probleme avec un fichier".xls"..........
Solution : remplace le "ou" (||) par un "et" (&&) :pour afficher le message "extention incorrecte" le fichier doit etre different de ".csv" && different de ".xls"
Bonne chance
supposons que l'upload du fichier fonctinne correctement on aura plus besoin de la partie "if" le programme passe à "else if" et la si le fichier est ".pdf" par exemple la conditionest verifier il entre jusqu ici c bon ton programme foctionne correctement....
maitenant si le fichier est un ".csv" la prmeiere partie($extension!= ".csv") n'est pas verfier normalement il entre pas sauf que la 2eme partie ($extension!= ".xls") est verifiée et t a un "ou" (||)entre les deux:il entre donc....meme probleme avec un fichier".xls"..........
Solution : remplace le "ou" (||) par un "et" (&&) :pour afficher le message "extention incorrecte" le fichier doit etre different de ".csv" && different de ".xls"
Bonne chance
Pour te donner une reponse complete tu dois nous envoyé le code complet sur de la partie "if"...
Et puis Est tu sur que ce syntax est juste:
!$extension== ".csv" ----------> le "! " avant une variable qui contient du text ca veut dire quoi?
Autre chose ,si dans la premiere partie de ta structure conditionnelle "if" tu a traité le cas
($extension== ".csv" || $extension== ".xls")
alors un simple " else" suffira pour traiter le cas ou l'extention du fichier n'est pas bonne au lieu d'un "else if". Si ce n'est pas le cas explique ton traitement et envoi la premiere partie du code on pourra peut etre t'aider.
Remarque: a mon avis ton probleme est un probleme de controle de saisie , tu n'est pas obligé d'envoye les donnes vers le serveur puis de les verifier avec php pour faire le traitement. N'oubli pas que php fonctionne du cote serveur......un simple script de controle de saisie en java scrit suffit pour filtrer le type de fichier accepter par ton formulaire
Bonne chance
Et puis Est tu sur que ce syntax est juste:
!$extension== ".csv" ----------> le "! " avant une variable qui contient du text ca veut dire quoi?
Autre chose ,si dans la premiere partie de ta structure conditionnelle "if" tu a traité le cas
($extension== ".csv" || $extension== ".xls")
alors un simple " else" suffira pour traiter le cas ou l'extention du fichier n'est pas bonne au lieu d'un "else if". Si ce n'est pas le cas explique ton traitement et envoi la premiere partie du code on pourra peut etre t'aider.
Remarque: a mon avis ton probleme est un probleme de controle de saisie , tu n'est pas obligé d'envoye les donnes vers le serveur puis de les verifier avec php pour faire le traitement. N'oubli pas que php fonctionne du cote serveur......un simple script de controle de saisie en java scrit suffit pour filtrer le type de fichier accepter par ton formulaire
Bonne chance
Authentiks
Messages postés
16
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
22 février 2008
31 juil. 2007 à 15:47
31 juil. 2007 à 15:47
Je t'envoies ma partie "if"...Sinon j'ai changé le test d'inegalité, je sais pas pourquoi j'avais mis ça...
$the_file_name = $_FILES['the_file']['name']; $the_file = $_FILES['the_file']['tmp_name']; $the_full_file_path = $the_path."/".$the_file_name; $extension = substr ($the_file_name,-4,4); //récupère l'extension du fichier. Exemple ".csv" echo $extension; //Si l'upload du fichier n'a pas fonctionné on réaffiche la barre permettant d'importer un fichier ainsi qu'un message d'erreur if (!@move_uploaded_file($the_file, $the_full_file_path)) { $the_file_name = "ATTENTION Base de Données VIDE"; echo"<tr><td align='left'><br/>Nom du fichier faisant référence :".$the_file_name.""; echo "<br/><form enctype='multipart/form-data' action='" . $_SERVER['PHP_SELF'] . "' method='post'>\n" . "<input type='hidden' name='action' value='upload' />\n" . "Upload a file: <input type='file' name='the_file' size='35' /><br />\n" . "<div align='center'><input type='submit' value='Upload' /><div/>\n" . "</form>\n\n"; echo "<strong><font color='red'>Erreur:</font> Vérifiez vos permissions et le chemin du répértoire de téléchargement (upload) </strong><br/><br/></td></tr>\n"; } //Si le fichier n'est pas au bon format... else if ($extension!= ".csv" || $extension!= ".xls"){ echo"<tr><td align='left'><br/><strong><font color='red'>ATTENTION le format du fichier chargé n'est pas bon (ni un .xls, ni un .csv)!!</font></strong>"; echo "<br/><form enctype='multipart/form-data' action='" . $_SERVER['PHP_SELF'] . "' method='post'>\n" . "<input type='hidden' name='action' value='upload' />\n" . "Upload a file: <input type='file' name='the_file' size='35' /><br />\n" . "<div align='center'><input type='submit' value='Upload' /><div/>\n" . "</form>\n\n"; echo "<br/></td></tr>\n"; } //Si l'upload a fonctionné avec le bon type de fichier on le précise et on indique le nouveau fichier de référence. else [...On traite ici le bon doc... donc pas de pb normalement ici]
Authentiks
Messages postés
16
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
22 février 2008
31 juil. 2007 à 15:56
31 juil. 2007 à 15:56
Juste une précision en plus:
Avec ce code le programme rentre dans la boucle else if tout le temps meme si le fichier est un .csv ou .xls
Merci de votre aide
Avec ce code le programme rentre dans la boucle else if tout le temps meme si le fichier est un .csv ou .xls
Merci de votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Fais un echo de $extension pour voir si tu as bien .csv ou .xls
sinon pour extraire l'extension tu peux utiliser:
et mets elseif au lieu de else if
sinon pour extraire l'extension tu peux utiliser:
$path_parts = pathinfo('ton_nom_fichier'); echo $path_parts['extension'];
et mets elseif au lieu de else if
Authentiks
Messages postés
16
Date d'inscription
mardi 24 juillet 2007
Statut
Membre
Dernière intervention
22 février 2008
31 juil. 2007 à 17:24
31 juil. 2007 à 17:24
Cool, c'était bien ça! Confusion entre OR et AND
Merci beaucoup!!!
Merci beaucoup!!!