<?php
function redimensioner ($adresse, $largeurmax, $hauteurmax)
{
$ext = strrchr($adresse,'.');
$ext = substr($ext,1);
$ext = strtolower($ext);
if ($ext !== 'gif' AND $ext !== 'jpg' AND $ext !== 'jpeg' AND $ext !== 'png') return FALSE;
if ($ext == 'gif') $res1 = imagecreatefromgif($adresse);
if ($ext == 'jpg' || $ext == 'jpeg') $res1 = imagecreatefromjpeg($adresse);
if ($ext == 'png') $res1 = imagecreatefrompng($adresse);
$largeur = imagesx($res1);
$hauteur = imagesy($res1);
$rx = $largeurmax / $largeur;
$ry = $hauteurmax / $hauteur;
$r0 = ($rx < $ry) ? $rx : $ry ;
$x2 = $largeur * $r0;
$y2 = $hauteur * $r0;
$res2 = imagecreatetruecolor($x2,$y2);
imagecopyresized($res2,$res1,0,0,0,0,$x2,$y2,$largeur,$hauteur);
imagedestroy($res1);
if ($ext == 'gif') $reussi = imagegif($res2,$adresse);
if ($ext == 'jpg' || $ext == 'jpeg') $reussi = imagejpeg($res2,$adresse);
if ($ext == 'png') $reussi = imagepng($res2,$adresse);
imagedestroy($res2);
return $reussi;
}
?>
Ce que tu fais tu mets sa dans un inc que tu mets dans le dossier de tes images et après tu as juste a mettre l'adresse de l'image et les dimensions voulues !!!Code : Tout sélectionner
[color=red]// connection à la base de données[/color]
mysql_connect("localhost","root","");
mysql_select_db("test");
$req = mysql_query("SELECT * FROM annonces WHERE id ='$id'");
$res = MYSQL_NUM_ROWS($req);
while ($res!=$i)
{
$id=mysql_result($req,$i,"id");
$image = mysql_result($req,$i,"image");
if ($image =="" ){ $img="";}
else {
$cheminphoto= "";[color=red]// nom du champs de la base de donnée ou est ton imazge[/color]
$urlphoto = "";[color=red] //Nom du répertoire ou est l'image[/color]
[color=red]//afficher l'image en miniature[/color]
$h_vign = "50";
$taille = getimagesize($nomRepertoire."/".$cheminphoto);
$reduc = floor(($h_vign*100)/($taille[1]));
$l_vign = floor(($taille[0]*$reduc)/100);
echo '<img src="', $urlphoto, '/',$cheminphoto, '" ';
echo "width='$l_vign' height='$h_vign' ALIGN='middle'";
echo "</td>";
}
}Bonjour à tous,
Voilà j'ai un petit probleme j'ai reussi à trouver un morceau de code pour redimensionner mes images mais il ne marche que pour redimensionner tout un repertoire , et cela marche parfaitement, mais je voudrais pouvoir redimensionner les images pas pour tout un repertoire mais juste l'image qui est demandé.
Je vous mets en premier le code avec le redimensionnement pour tout un repertoire:
<?php
// url du fichier qui contient les images
$urlphoto = "http://www.votre-site.com/images";
// nom du répertoire qui contient les images
$nomRepertoire = "images";
if (is_dir($nomRepertoire))
{
$dossier = opendir($nomRepertoire);
while ($Fichier = readdir($dossier))
{
if ($Fichier != "." AND $Fichier != ".." AND (stristr($Fichier,'.gif') OR stristr($Fichier,'.jpg') OR stristr($Fichier,'.png') OR stristr($Fichier,'.bmp')))
{
// Hauteur de toutes les images
$h_vign = "120";
$taille = getimagesize($nomRepertoire."/".$Fichier);
$reduc = floor(($h_vign*100)/($taille[1]));
$l_vign = floor(($taille[0]*$reduc)/100);
echo '<a target="_blank" href="', $urlphoto, '/',$Fichier, '">';
echo '<img src="', $urlphoto, '/',$Fichier, '" ';
echo "width='$l_vign' height='$h_vign'>";
echo "</a> ";
}
}
closedir($dossier);
}else{
echo' Le répertoire spécifié n\'existe pas';
}
?>
je vous mets maintenant mon code ou je voudrais inserer la meme chose mais sur ume image qui a été appelé:
<?
// connection à la base de données
mysql_connect("localhost","root","");
mysql_select_db("test");
$req = mysql_query("SELECT * FROM annonces WHERE id ='$id'");
$res = MYSQL_NUM_ROWS($req);
while ($res!=$i)
{
$id=mysql_result($req,$i,"id");
$image = mysql_result($req,$i,"image");
if ($image =="" ){ $img="";}
else {$img="<img src='images_upload/$image'>";}
?>
<?php echo $img; ?>
<?php
$i++;
}
mysql_close();
?>
En esperant avoir été comprehensible,
d'avance merci à tous ceux qui pourront m'aider
muriel