guisx00
Messages postés104Date d'inscriptiondimanche 23 juillet 2006StatutMembreDernière intervention15 août 2009
-
4 déc. 2007 à 11:58
guisx00
Messages postés104Date d'inscriptiondimanche 23 juillet 2006StatutMembreDernière intervention15 août 2009
-
6 déc. 2007 à 08:50
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
yoman64
Messages postés962Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 2 août 20102 6 déc. 2007 à 02:29
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>
Votre image à été uploadée sur le serveur avec succes!
Voici le nom: '.$nom_fichier.'
</center>';
}
else //Si l'image n'a pas pu etre déplacé
$msgimg = '<center>
Aucun upload na été demande
</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>
Aucun upload na été demande
</center>';
-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org
yoman64
Messages postés962Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 2 août 20102 5 déc. 2007 à 01:49
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.
guisx00
Messages postés104Date d'inscriptiondimanche 23 juillet 2006StatutMembreDernière intervention15 août 2009 5 déc. 2007 à 10:33
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>
Votre image à été uploadée sur le serveur avec succes!
Voici le nom: '.$nom_fichier.'
</center>';
}
else
{
$msgimg = '<center>
L\'image n\'a pas pu être uploadée sur le serveur
</center>';
}
} //On ferme if (isset($_FILES['fichier']))
guisx00
Messages postés104Date d'inscriptiondimanche 23 juillet 2006StatutMembreDernière intervention15 août 2009 5 déc. 2007 à 10:33
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>
Votre image à été uploadée sur le serveur avec succes!
Voici le nom: '.$nom_fichier.'
</center>';
}
else
{
$msgimg = '<center>
L\'image n\'a pas pu être uploadée sur le serveur
</center>';
}
} //On ferme if (isset($_FILES['fichier']))
guisx00
Messages postés104Date d'inscriptiondimanche 23 juillet 2006StatutMembreDernière intervention15 août 2009 5 déc. 2007 à 11:11
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>
Votre image à été uploadée sur le serveur avec succes!
Voici le nom: '.$nom_fichier.'
</center>';
}
else
{
$msgimg = '<center>
Aucun upload na été demande
</center>';
}