Creé miniature PHP
Bonjour,
voila actuellement j'ai un code en php pour uploads sur mon serveur mais je voudrai savoir comment faire pour creé un miniature automatique voici mon code
J'ai tros besoin de votre aidez.
voila actuellement j'ai un code en php pour uploads sur mon serveur mais je voudrai savoir comment faire pour creé un miniature automatique voici mon code
<?php
define('UPLOAD_DIR', 'uploads/');
$target_path = UPLOAD_DIR.basename( $_FILES['uploadedfile']['name']);
while(file_exists($target_path))
{
$name = pathinfo($target_path, PATHINFO_FILENAME);
$ext = pathinfo($target_path, PATHINFO_EXTENSION);
$target_path = UPLOAD_DIR.$name.rand(0, 9).'.'.$ext;
}
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo '<p><a href="'.$target_path.'">'. $target_path.'</a></p>';
} else{
echo "There was an error uploading the file, please try again!";
}
?>
<form enctype="multipart/form-data" name="form1" method="post" action="#">
<tr>
<td>Images:</td>
<td><input size="15" type="hidden" name="MAX_FILE_SIZE" value="9999999" /><input name="uploadedfile" type="file" /></td>
</tr>
<div align="center"><input type="submit" name="envoi" value="Validez"></div>
</form>
J'ai tros besoin de votre aidez.
Configuration: Windows Vista Firefox 3.5.1
6 réponses
-
<?php
// éditez les 2 variables ci-dessous en fonction du résultat souhaité :
$largeur = "100"; // correspond à la largeur de l'image souhaitée
$hauteur ="100"; // correspond à la hauteur de l'image souhaitée
// et voici la création de la miniature...
header("Content-Type: image/jpeg");
$img_in = imagecreatefromjpeg($pic);
$img_out = imagecreatetruecolor($largeur, $hauteur);
imagecopyresampled($img_out, $img_in, 0, 0, 0, 0, imagesx($img_out), imagesy($img_out), imagesx($img_in), imagesy($img_in));
$t = imagejpeg($img_out);
echo $t;
?>
Et comment je fais après ?
Et bien, c'est très simple ! Votre image non réduite est située ici : http://www.votresite.com/img/monimage.jpg. Sur votre site, vous avez placé le code ci-dessous pour afficher l'image.
<img border="0" src="http://www.votresite.com/img/monimage.jpg">
Maintenant, pour afficher la miniature, remplacez ce code par celui-ci :
<img border="0" src="http://www.votresite.com/miniature.php?pic=http://www.votresite.com/img/monimage.jpg">
En etudiant ce code vous dovez pouvoir l'adapter à ton besoin -
En effet
J'ai une sortie à l'écran de plein de caractère d'en tête de fichier.
J'ai l'impression qu'il manque quelque chose au code pourtant la GD est activé et présent sur mon serveur -
Vérifie que ton hébergeur à activé la bibliothèque GD..
Je vais mettre du code mais ça doit être sensiblement le même que Highness
// tu appelles ton image comme ça warning c'est du PHP !! <img src="../img_site/makeicon.php?image=chemin de ton image">
ton fichier makeicon.php pour des miniatures de 100x100px :
list($larg, $haut) = getimagesize('chemin complet de ton image'); // récupère les tailles (hauteur et largeur) $image = imagecreatefromjpeg('chemin complet de ton image'); // Crée ton image dans le cache $miniature = imagecreatetruecolor(100, 100); // crée l'image de 100 100 vide $resize = imagecreatetruecolor($larg/1.5, $haut/1.5); // réduit la taille de ton image de départ imagecopyresampled($resize, $image, 0, 0, 0, 0, $larg/1.5, $haut/1.5, $larg, $haut); // retaille ton image imagecopymerge($miniature, $resize,0 ,0 ,($larg/1.5-100)/2 ,($haut/1.5-100)/2 ,100 ,100, 100); // associe les deux images header("Content-type : image/jpeg"); //envoie l'image au navigateur puis vide le cache du serveur imagejpeg($miniature); imagedestroy($miniature); imagedestroy($image); imagedestroy($resize); -
J'ai teste se que tu ma donnez rien marche
-
merci mais je trouve pas ce qu'il me vaut pour mon code
-