|
|
|
|
Posté par
Authentiks, le mardi 31 juillet 2007 à 12:06:57$the_file_name = $_FILES['the_file']['name']; $extension = substr ($the_file_name,-4,4); //récupère l'extension du fichier.
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";
Configuration: Windows XP Internet Explorer 6.0
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 |
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] |
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 |
Fais un echo de $extension pour voir si tu as bien .csv ou .xls
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 |
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 |
Cool, c'était bien ça! Confusion entre OR et AND
Merci beaucoup!!! |
| 06/11 19h24 | [PHP] Upload de fichiers | PHP |
| 16/02 14h32 | Envoyer de gros fichiers (pièces jointes) par mail | Messagerie électronique |
| 08/08 01h30 | Fichier corrompu ou manquant | Windows XP |
| 17/10 13h07 | Gestion des erreurs | Pascal |
| 16/02 09h18 | [Windows 9x] Réparer Windows | Windows |
| 29/04 19h14 | PHP - Vérification des fichiers uploader | 1 |
| 09/11 12h09 | Probleme photo type fichier | 2 |
| 24/07 17h02 | Un fichier du type fichier | 10 |
| 13/06 10h00 | Assembler des fichiers de type fichier.nombre | 2 |
![]() | FileUtilsCM - Pour améliorer les fonctionnalités de Finder, rien de plus simple, utilisez FileUtilsCM ! FileUtilsCM est un lot de... | Catégorie: Gestion de fichiers Licence: Freeware/gratuit |
![]() | TYPSoft FTP Serveur - TYPSoft FTP Serveur est un ftp serveur rapide et facile avec le support des commandes Standard de FTP, Interface propre et... | Catégorie: FTP Licence: Freeware/gratuit |
![]() | Types - Il est si facile d'installer des applications de même catégorie sur votre machine. Par exemple vous avez Gimp, Photoshop,... | Catégorie: Système Licence: Freeware/gratuit |
![]() | TypeFaster - Si vous avez encore du mal à utiliser le clavier à l'aveuglette, ne cherchez plus des méthodes payantes et parfois... | Catégorie: Emulation Licence: Open Source |
![]() | SanDisk Compact Flash 1 | Catégorie: Carte Mémoire / Clé USB | |
![]() | SanDisk CompactFlash 512 Mo | Catégorie: Carte Mémoire / Clé USB | |
![]() | Olympus XD-Picture Card 2 | Catégorie: Carte Mémoire / Clé USB | 17.23 € Rue du Commerce |
![]() | SanDisk xD-Picture Card 2 | Catégorie: Carte Mémoire / Clé USB | 28.99 € Matrixx-media FR |