Creé miniature PHP

Fermé
aureliendu917 Messages postés 272 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 14 janvier 2011 - 19 juil. 2009 à 15:08
sniperdc Messages postés 4 Date d'inscription vendredi 22 mars 2013 Statut Membre Dernière intervention 26 novembre 2013 - 22 mars 2013 à 15:27
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

<?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.
A voir également:

6 réponses

Highness Messages postés 15 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 29 mars 2012 1
20 juil. 2009 à 21:20
<?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
2
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 330
19 juil. 2009 à 22:32
1
aureliendu917 Messages postés 272 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 14 janvier 2011 6
20 juil. 2009 à 09:13
merci mais je trouve pas ce qu'il me vaut pour mon code
1
aureliendu917 Messages postés 272 Date d'inscription mardi 27 novembre 2007 Statut Membre Dernière intervention 14 janvier 2011 6
4 août 2009 à 14:27
J'ai teste se que tu ma donnez rien marche
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ozimandias Messages postés 502 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 10 mars 2010 46
4 août 2009 à 14:37
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);

1
sniperdc Messages postés 4 Date d'inscription vendredi 22 mars 2013 Statut Membre Dernière intervention 26 novembre 2013 2
22 mars 2013 à 15:27
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
0