//Indique si le fichier a �t� t�l�charg�
if(!is_uploaded_file($_FILES['monfichier']['tmp_name']))
echo 'Un probl�me est survenu durant l op�ration. Veuillez r�essayer !';
else {
//liste des extensions possibles
$extensions = array('/png', '/gif', '/jpg', '/jpeg');
//r�cup�re la cha�ne � partir du dernier / pour conna�tre l'extension
$extension = strrchr($_FILES['monfichier']['type'], '/');
//v�rifie si l'extension est dans notre tableau
if(!in_array($extension, $extensions))
echo 'Vous devez uploader un fichier de type png, gif, jpg, jpeg.';
else {
//on d�finit la taille maximale
define('MAXSIZE', 300000);
if($_FILES['monfichier']['size'] > MAXSIZE)
echo 'Votre image est sup�rieure � la taille maximale de '.MAXSIZE.' octets';
else {
//on se connecte (remplacer les param�tres de connexion)
$connexion = mysql_connect("localhost", "", "") or exit (mysql_error());
$database = mysql_select_db("commande") or exit (mysql_error());
//Lecture du fichier. On doit utiliser la fonction mysql_escape_string car les donn�es binaires contiennent des caract�res sp�ciaux.
$filename = $_FILES['monfichier']['tmp_name'];
$ImageChoisie = imagecreatefromjpeg($_FILES['monfichier']['tmp_name']);
$TailleImageChoisie = getimagesize($_FILES['monfichier']['tmp_name']);
$NouvelleLargeur = 850; //Largeur choisie à 350 px mais modifiable
$Reduction = ( ($NouvelleLargeur * 100)/$TailleImageChoisie[0] );
$NouvelleHauteur = ( ($TailleImageChoisie[1] * $Reduction)/100 );
$NouvelleImage = imagecreatetruecolor($NouvelleLargeur , $NouvelleHauteur) or die ("Erreur");
imagecopyresampled($NouvelleImage , $ImageChoisie, 0, 0, 0, 0, $NouvelleLargeur, $NouvelleHauteur,$TailleImageChoisi[0],$TailleImageChoisie[1]);
ob_start();
imagejpeg($NouvelleImage ,null, 100);
$image = ob_get_clean();
$image = strtr($image,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
//On remplace les lettres accentutées par les non accentuées dans $fichier.
//Et on récupère le résultat dans fichier
//En dessous, il y a l'expression régulière qui remplace tout ce qui n'est pas une lettre non accentuées ou un chiffre//dans $fichier par un tiret "-" et qui place le résultat dans $fichier.
$image = preg_replace('/([^.a-z0-9]+)/i', '-', $image);
//Il ne reste qu'� ins�rer tout �a dans notre table.
mysql_query("INSERT INTO etale(numero_commercant, nomproduit, prixproduit, date, quantite, photo, extension) VALUES('".$numerocommercant."', '".$nomproduit."','".$prixproduit."', '".$date."','".$quantiteproduit."', '".$image."', '".$_FILES['monfichier']['type']."')") or exit (mysql_error());
mysql_close();
echo 'L insertion s est bien deroulee !';
$connexion = mysql_connect("localhost", "", "") or exit (mysql_error());
$database = mysql_select_db("commande", $connexion) or exit (mysql_error());
$affichage = mysql_query("SELECT ID, nomproduit, prixproduit, quantite FROM etale ORDER BY ID DESC LIMIT 1") or exit (mysql_error());
$result = mysql_fetch_array($affichage);
echo '
';
echo 'Nom du produit : '.$result['nomproduit'].'
';
echo 'Prix : '.$result['prixproduit'].'Euros
';
echo 'Quantite : '.$result['quantite'].'Kilos
';
echo '[apercu1.php?ID='.$result['ID'].' ]';
echo '[Etaleview.php Verifier la mise en page]
';
echo '
';
mysql_close();
}
}
}
}
?>
Il doit surement manquer quelque chose. Mais Je ne vois pas.
Merci d'avance pour votre aide
voyager
cs_voyager
Messages postés8Date d'inscriptionjeudi 2 janvier 2003StatutMembreDernière intervention27 décembre 2010 27 déc. 2010 à 19:38
Bonjour
Merci pour ta réponse
J ai supprimer la partie '".$_FILES['monfichier']['type']."' tu as raison probablement que j avais deux fois la même chose mais cela ne change rien j ai le même resulat.
L upload a l air de se faire, l insertion dans la base se fait correctement et les nouvelles dimensions sont bien attribuées je peu voir les détailles dans la base (j ai effectivement phpmyadmin).
Le seul hic les images n apparaissent pas lorsque je les récupères.
Les questions que je me pose sont:
-Sous quel format est ma variable $image car si la variable n a pas le bon format je peux toujours insister.
-J ai aussi un doute sur l upload car je n upload pas vraiment l image dans un fichier en effet j ai lu quelque part qu il faut d'abord l uploader sur le serveur avant de la redimensionner