Bonjour
Ci-dessous ma démarche bon je suis débutant mais je me soigne, mais dans le cas présent après de nombreux essais je reste bloque
1) Upload
2) Redimensionner l'image uploader
3) Charger l'image dans un db
Tout semble se passer correctement mais malheureusement les photos n apparaissent pas dans ma galerie.
Le code que j'utilise
<?php
session_start();
$dj = "";
$dj = date ("d/m/Y");
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="navcontainer.css" type="text/css" media="screen" title="Normal" />
<style type="text/css">
<!--
.img { width: 215px;
heigh: 215px;
}
-->
</style>
</head>
<body>
<div id="navcontainer">
<div align="center">
<ul id="navlist">
<li id="active"><a href="Commercant.php" id="current">Photo et renseignements personnel</a></li>
<li><a href="Etaleview.php" >Visionner son Etale</a></li>
</ul>
</div>
</div>
<div align="center"><font size="5"><em>Construire son etale virtuelle</em></font></div><br><br><br>
<center><form enctype="multipart/form-data" action="" method="post">
Numero <input type="text" name="numerocommercant" id="numerocommercnat" style="width:100px" value="<?php echo $_SESSION['numerocommercant'];?>" />
Nom du produit <input type="text" name="nomproduit" id="nomproduit" style="width:100px" />
Prix <input type="text" name="prixproduit" id="prixproduit" style="width:50px" />
Quantite <input type="text" name="quantiteproduit" id="quantiteproduit" style="width:50px" />
date <input type="text" name="date" id="date" value="<?php echo $dj; ?>" style="width:80px" />
<input type="hidden" name="MAX_FILE_SIZE" value="100000000" />
Lien <input type="file" name="monfichier" id="monfichier" />
<input type="submit" name="validation" />
</form></center>
</body>
</html>
<?php
$dj = date ("d/m/Y");
$target = 'monsite/';
if(isset($_POST['validation'])) {
//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());
//r�cup�ration des infos saisies
$numerocommercant = mysql_real_escape_string($_POST['numerocommercant']);
$nomproduit = mysql_escape_string($_POST['nomproduit']);
$prixproduit = mysql_escape_string($_POST['prixproduit']);
$quantiteproduit = mysql_escape_string($_POST['quantiteproduit']);
$date = mysql_escape_string($_POST['date']);
//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 '<div>';
echo '<p>Nom du produit : '.$result['nomproduit'].'</p>';
echo '<p>Prix : '.$result['prixproduit'].'Euros</p>';
echo '<p>Quantite : '.$result['quantite'].'Kilos</p>';
echo '<a href="apercu1.php?ID='.$result['ID'].'"><img src="apercu1.php?ID='.$result['ID'].'" class="img" /></a>';
echo '<p><a href="Etaleview.php" >Verifier la mise en page</a></p>';
echo '</div>';
mysql_close();
}
}
}
}
?>
Il doit surement manquer quelque chose. Mais Je ne vois pas.
Merci d'avance pour votre aide
voyager