Creé miniature PHP
aureliendu917
Messages postés
267
Date d'inscription
Statut
Membre
Dernière intervention
-
sniperdc Messages postés 4 Statut Membre -
sniperdc Messages postés 4 Statut Membre -
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 -
-
merci mais je trouve pas ce qu'il me vaut pour mon code
-
J'ai teste se que tu ma donnez rien marche
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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); -
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