Accueil > Forum > > > > affichage d'un message non desire
affichage d'un message non desire
mardi 4 décembre 2007 à 11:58:05 |
affichage d'un message non desire

guisx00
|
Bonjour,
Je suis entrain de me remettre dans le php et je n'arrive plus à faire fonctionne correctement mon code
J'avais cree avec des bout de code y à un bon moment un petit upload d'image
Mais je viens de m'apercevoir que si je laisse vide le champ de l'image il me met "le fichier doit être au format ..."
Et j'aimerais qu'il me l'affiche que si c'est pas le bon format
Et quand y à aucune image d'envoyé il m'affiche rien
J'ai essayer plusieurs fois en changeant les empty et isset mais je pense que je le change pas au bonne endroit ou que mon code est dans le mauvais sens
Voici la version que j'avais au début sans mes changement qui ne fonctionne pas
J'espere mettre expliqué et avoir été compris
Merci d'avance à la ou les personnes pour leur(s) reponse
if (isset($_FILES['fichier']))
{
$msgimg = "";
$poids_max = 512000; // Poids max de l'image en octets (1Ko = 1024 octets)
$repertoire = 'upload/news/'; // Repertoire d'upload
list($width, $height, $type, $attr) = getimagesize($_FILES['fichier']['tmp_name']);
// On vérifie le type du fichier
if ($_FILES['fichier']['type'] != 'image/png' && $_FILES['fichier']['type'] != 'image/jpeg' && $_FILES['fichier']['type'] != 'image/jpg' && $_FILES['fichier']['type'] != 'image/gif')
{
$erreur = 'Le fichier doit être au format *.jpeg, *.gif ou *.png .';
}// On vérifit le poids de l'image
else if ($_FILES['fichier']['size'] > $poids_max)
{
$erreur = 'L\'image doit être inférieur à ' . $poids_max/1024 . 'Ko.';
} // On vérifit si le répertoire d'upload existe
elseif (!file_exists($repertoire))
{
$erreur = 'Erreur, le dossier d\'upload n\'existe pas.';
}
else if($width>300 || $height>300) // si superieur
{
$erreur = 'Erreur, image supérieure à 300x300 pixels';
}
// Si il y a une erreur on l'affiche sinon on peut uploader
if(isset($erreur))
{
$msgimg = ' ' . $erreur . ' ';
}
else
{ // On définit l'extention du fichier puis on le nomme par le timestamp actuel
if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpeg'; }
if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpg'; }
if ($_FILES['fichier']['type'] == 'image/png') { $extention = '.png'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.gif'; }
$nom_fichier = time().$extention;
// On upload le fichier sur le serveur.
if (move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier))
{
$msgimg = ' Votre image à été uploadée sur le serveur avec succes! Voici le nom: '.$nom_fichier.' ';
}
else
{
$msgimg = ' L\'image n\'a pas pu être uploadée sur le serveur ';
} } }
|
|
mercredi 5 décembre 2007 à 01:49:50 |
Re : affichage d'un message non desire

yoman64
|
Salut, Pour vérifier qu'un fichier a bien été uploadé, vérifie que le fichier existe et/ou qu'il a un nom! exemple: if (!empty($fichier_temp) && is_uploaded_file($fichier_temp)) { // alors le fichier existe et a été bien uploader }
else{ //alors le fichier n'existe pas : erreur de transfert ou le champ était vide }
Et un petit conseil pour la route: Ne te fis pas au type renvoyé par le navigateur si tu veux savoir s'il sagit bien d'une image. Tu utilise déja getimagesize, mais pas pour vérifié si il sagit d'un bon format, ce qui serait justement judicieux. Exemple: list($width, $height, $type, $attr) = getimagesize($_FILES['fichier']['tmp_name']);
// On vérifie le type du fichier
// types de fichiers : 1=gif / 2=jpg / 3=png
if (($type===1) || ($type===2) || ($type===3)) { // c'est bien une image } else { //c'est pas une image, ou le format n'est pas permis! }
------------------- Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ?? Et bien c'est la : www.e3b.org 
|
|
mercredi 5 décembre 2007 à 01:56:01 |
Re : affichage d'un message non desire

yoman64
|
Salut, J'oubliais... tu peux remplacé : if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpeg'; }
if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpg'; }
if ($_FILES['fichier']['type'] == 'image/png') { $extention = '.png'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.gif'; }
par $ext=Array('.gif','.jpg','.png'); $nom_fichier = time().$ext[$type-1];
Et puis ajoute un chiffre aléatoire en plus du timestamp, bien que peux probable, il est possible que deux images soit uploadé a la meme seconde. Tu peux meme généré un nouveau chiffre tant que le fichier existe, mais comme le risque est faible un seul chiffre aléatoire est probablement assez. Par exemple: $nom_fichier = time().rand(0,100).$ext[$type-1];
a+ ------------------- Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ?? Et bien c'est la : www.e3b.org 
|
|
mercredi 5 décembre 2007 à 10:16:24 |
Re : affichage d'un message non desire

guisx00
|
Salut Merci de ta reponse je test avec tes changement et jte fait voir mon code pour savoir si jai bien compris ton explication
|
|
mercredi 5 décembre 2007 à 10:33:41 |
Re : affichage d'un message non desire

guisx00
|
Bon j'ai fait sa mais le prob cest qu'il minsere bien le nom de l'image dans la base mais il me fou pas l'image dans le dossier et m'indique à la fin de l'insertion toujours le message "L'image à pas ete uploader..."
Je continu mes recherches en attendant une reponse J'epere trouve sans avoir bessoin de reponse ^^
Voici le code pour le moment modifie
if (isset($_FILES['fichier'])) { $msgimg = ""; $poids_max = 512000; // Poids max de l'image en octets (1Ko = 1024 octets) $repertoire = 'upload/news/'; // Repertoire d'upload list($width, $height, $type, $attr) = getimagesize($_FILES['fichier']['tmp_name']); /* On vérifie le type du fichier Types de fichiers : 1=gif / 2=jpg / 3=png */ if (($type===1) || ($type===2) || ($type===3)) { // c'est bien une image } else {//c'est pas une image, ou le format n'est pas permis! $msgimg = 'Le fichier doit être au format *.jpeg, *.gif ou *.png .'; }// On vérifit le poids de l'image if ($_FILES['fichier']['size'] > $poids_max) { $msgimg = 'L\'image doit être inférieur à ' . $poids_max/1024 . 'Ko.'; } // On vérifit si le répertoire d'upload existe else if (!file_exists($repertoire)) { $msgimg = 'Erreur, le dossier d\'upload n\'existe pas.'; } else if($width>300 || $height>300) // si superieur { $msgimg = 'Erreur, image supérieure à 300x300 pixels'; } $ext=Array('.gif','.jpg','.png'); $nom_fichier = time().rand(0,100).$ext[$type-1]; // On upload le fichier sur le serveur et on verifie sont existance if (!empty($fichier_temp) && is_uploaded_file($fichier_temp)) { $msgimg = '<center><div class="admin-ok">Votre image à été uploadée sur le serveur avec succes!<br />Voici le nom: '.$nom_fichier.'</div></center>'; } else { $msgimg = '<center><div class="admin-no">L\'image n\'a pas pu être uploadée sur le serveur</div></center>'; } } //On ferme if (isset($_FILES['fichier']))
|
|
mercredi 5 décembre 2007 à 10:33:42 |
Re : affichage d'un message non desire

guisx00
|
Bon j'ai fait sa mais le prob cest qu'il minsere bien le nom de l'image dans la base mais il me fou pas l'image dans le dossier et m'indique à la fin de l'insertion toujours le message "L'image à pas ete uploader..."
Je continu mes recherches en attendant une reponse J'epere trouve sans avoir bessoin de reponse ^^
Voici le code pour le moment modifie
if (isset($_FILES['fichier'])) { $msgimg = ""; $poids_max = 512000; // Poids max de l'image en octets (1Ko = 1024 octets) $repertoire = 'upload/news/'; // Repertoire d'upload list($width, $height, $type, $attr) = getimagesize($_FILES['fichier']['tmp_name']); /* On vérifie le type du fichier Types de fichiers : 1=gif / 2=jpg / 3=png */ if (($type===1) || ($type===2) || ($type===3)) { // c'est bien une image } else {//c'est pas une image, ou le format n'est pas permis! $msgimg = 'Le fichier doit être au format *.jpeg, *.gif ou *.png .'; }// On vérifit le poids de l'image if ($_FILES['fichier']['size'] > $poids_max) { $msgimg = 'L\'image doit être inférieur à ' . $poids_max/1024 . 'Ko.'; } // On vérifit si le répertoire d'upload existe else if (!file_exists($repertoire)) { $msgimg = 'Erreur, le dossier d\'upload n\'existe pas.'; } else if($width>300 || $height>300) // si superieur { $msgimg = 'Erreur, image supérieure à 300x300 pixels'; } $ext=Array('.gif','.jpg','.png'); $nom_fichier = time().rand(0,100).$ext[$type-1]; // On upload le fichier sur le serveur et on verifie sont existance if (!empty($fichier_temp) && is_uploaded_file($fichier_temp)) { $msgimg = '<center><div class="admin-ok">Votre image à été uploadée sur le serveur avec succes!<br />Voici le nom: '.$nom_fichier.'</div></center>'; } else { $msgimg = '<center><div class="admin-no">L\'image n\'a pas pu être uploadée sur le serveur</div></center>'; } } //On ferme if (isset($_FILES['fichier']))
|
|
mercredi 5 décembre 2007 à 11:11:32 |
Re : affichage d'un message non desire

guisx00
|
Desole je sais pas pourquoi le message à été double
Voila j'ai virer la premier verif if (isset($_FILES['fichier'])) {
Et deplace quelque truc et sa marche nikel voici le code terminer Merci pour ton aide tu pourra juste me confirme si mon code est acceptable niveau sintaxe stp
$msgimg = ""; $poids_max = 512000; // Poids max de l'image en octets (1Ko = 1024 octets) $repertoire = 'upload/news/'; // Repertoire d'upload list($width, $height, $type, $attr) = getimagesize($_FILES['fichier']['tmp_name']); /* On vérifie le type du fichier Types de fichiers : 1=gif / 2=jpg / 3=png */ if (($type===1) || ($type===2) || ($type===3)) { // c'est bien une image // On vérifie le poids de l'image if ($_FILES['fichier']['size'] > $poids_max) { $msgimg = 'L\'image doit être inférieur à ' . $poids_max/1024 . 'Ko.'; } // On vérifie si le répertoire d'upload existe else if (!file_exists($repertoire)) { $msgimg = 'Erreur, le dossier d\'upload n\'existe pas.'; } else if($width>300 || $height>300) // si superieur { $msgimg = 'Erreur, image supérieure à 300x300 pixels'; } $ext=Array('.gif','.jpg','.png'); $nom_fichier = time().rand(0,100).$ext[$type-1]; } //if (($type===1) || ($type===2) || ($type===3)) //C'est pas une image, ou le format n'est pas permis! else { $msgimg = 'Le fichier doit être au format *.jpeg, *.gif ou *.png .'; } // On upload le fichier sur le serveur et on verifie sont existance if (move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier)) { $msgimg = '<center><div class="admin-ok">Votre image à été uploadée sur le serveur avec succes!<br />Voici le nom: '.$nom_fichier.'</div></center>'; } else { $msgimg = '<center><div class="admin-ok">Aucun upload na été demande</div></center>'; }
|
|
jeudi 6 décembre 2007 à 02:29:15 |
Re : affichage d'un message non desire

yoman64
|
Réponse acceptée !
Salut, la syntaxe est un peu brouillon et certain tests sont fait dans le mauvais ordre mais en gros c'est bien, tien je t'ai fais une version plus clair, a toi de voir si tu la préfere $msgimg = ""; $poids_max = 512000; // Poids max de l'image en octets (1Ko = 1024 octets) $repertoire = 'upload/news/ '; // Repertoire d'upload
if ($_FILES['fichier']['tmp_name'] && file_exists($_FILES['fichier']['tmp_name'])) // On commence par vérifié si le fichier a bien été uploader { if (file_exists($repertoire)) // On vérifie si le repertoire existe { if ($_FILES['fichier']['size'] < $poids_max) //Ensuite on regarde si le fichier n'est pas trop gros { list($width, $height, $type, $attr) = getimagesize($_FILES['fichier']['tmp_name']); if (($type===1) || ($type===2) || ($type===3)) //Si le fichier est une image 1=gif / 2=jpg / 3=png { if($width<300 || $height<300) //On s'assure que l'image ne fait pas plus de 300pixel de haut et de large { $ext=Array('.gif','.jpg','.png'); $nom_fichier = time().rand(0,100).$ext[$type-1]; if (move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier)) //On déplace l'image dans le dossier { $msgimg = '<center><div class="admin-ok">Votre image à été uploadée sur le serveur avec succes!<br />Voici le nom: '.$nom_fichier.'</div></center>'; } else //Si l'image n'a pas pu etre déplacé $msgimg = '<center><div class="admin-ok">Aucun upload na été demande</div></center>'; } else // L'image fait plus que 300x300 $msgimg = 'Erreur, image supérieure à 300x300 pixels'; } else // L'image n'est pas au bon format $msgimg = 'Le fichier doit être au format *.jpeg, *.gif ou *.png .'; } else //L'image est trop lourde $msgimg = 'L\'image doit être inférieur à ' . $poids_max/1024 . 'Ko.'; } else $msgimg = 'Erreur, le dossier d\'upload n\'existe pas.'; } else $msgimg = '<center><div class="admin-ok">Aucun upload na été demande</div></center>';
------------------- Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ?? Et bien c'est la : www.e3b.org 
|
|
jeudi 6 décembre 2007 à 08:50:15 |
Re : affichage d'un message non desire

guisx00
|
Merci beaucoup c'est vrai que c'est plus clair dans se sens merci pour tes conseils et d'avoir mit mon code dans l'odre
A+ Bonne journée
|
|
Cette discussion est classée dans : fichier, type, image, files, if
Répondre à ce message
Sujets en rapport avec ce message
Upload ? [ par robapt ]
Bonjour, je fais pour un site en ce moment un code qui demande un mots de passe avant qu'on puisse uploader le fichier qu'on choisit, j'ai les 2 code
problème avec $_FILES [ par nicomilville ]
Salut,J'ai un problème avec un code qui est censé uploader une image et mettre son chemin dans une base de donnée...Je n'ai aucune erreur...Mon code P
Les fichiers [ par Bumcello ]
Bonjour,Le script suivant sert à uploader des images de types differents. Et donc si je choisis un fichier jpeg cela ne fonctionne pas cela m'affiche
correction d'un script upload image [ par smed79 ]
bonjour,j'ai besoin de votre aide pour modifier et corriger un script upload image. j'ai un probleme avec le message d'erreur pour la taille maximum
un if dans un echo contenu dans une boucle [ par skull21 ]
Bonjour,je récupère dabord les données de la base : // Mise en variables simples des informations existantes de la fiche$image_cellule = $donnees[
Pb upload php [ par ninho44 ]
Bonjour, voila j'ai un petit probleme pour uploader une image et c'est la 1ere fois que je fais ça...je suis un peu perdu.EN fait, je ne vois pas pour
Upload image [ par houssam88 ]
salut a tousbon voila e rencontre un petit problème dans l'upload des images, pas tou a fait concernant l'upload (celui ci marche bien) mai j'aimerai
Savoir si un champs file est vide [ par dypsis66 ]
Bonjour, Pour que l'admin de mon site puisse modifier/ajouter des images sur son site j'ai mis ceci dans mon formulaire: ce que j'aimerai c'est vé
Fusionner 2 images [ par yassin3 ]
Bonjour à tous, bon voila j'aimerai faire un script pour fusionner 2 images une que je vais uploader directement depuis mon site avec une image source
Probleme avec un formulaire d'upload [ par prog2ni ]
Bonjour, Je suis debutant en php. Je vous explique mon probleme : J'ai en place un script d'upload d'image, il fonctionne, associer a ce script, j'in
Livres en rapport
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Forum
RE : SONDAGE..RE : SONDAGE.. par phpAnonyme
Cliquez pour lire la suite par phpAnonyme RE : SONDAGE..RE : SONDAGE.. par TychoBrahe
Cliquez pour lire la suite par TychoBrahe
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|