Salut,
après avoir cherché une solution pour faire une image miniature en automatique j'ai finalement trouvé un script super
Voici le script :
<?php
/*
*
*
* Avertissement : Cette librairie de fonctions PHP est distribuee avec l'espoir
* qu'elle sera utile, mais elle l'est SANS AUCUNE GARANTIE; sans meme la garantie de
* COMMERCIALISATION ou d'UTILITE POUR UN BUT QUELCONQUE.
* Elle est librement redistribuable tant que la presente licence, ainsi que les credits des
* auteurs respectifs de chaque fonctions sont laisses ensembles.
* En aucun cas, Nexen.net ne pourra etre tenu responsable de quelques consequences que ce soit
* de l'utilisation ou la mesutilisation de ces fonctions PHP.
*/
/****
* Titre : CreateEtiquette
* Auteur : Mike Mithouard
* Email : root@mickael-mithouard.com
* Url : www.mickael-mithouard.com
* Description : Cette fonction reprend la création de miniatures.
Le rajout est la fonction imagecreatetruecolor qui évite un
échantillonement sur 255 couleurs
****/
function CreateEtiquette2($Image){
/*
$Image: Nom de l'image originale
$Source: Chemin absolu du répertoire de l'image originale
$Destination: Chemin absolu du répertoire de l'image réduite
$ratio: Largeur de l'image réduite.
*/
$Source = './';
$Destination = './Miniature_';
$ratio = 150;
if(substr(strtolower($Source.$Image), (strlen($Source.$Image)-4),4)=='.gif'){
$src=imagecreatefromgif($Source.$Image);
}else if(substr(strtolower($Source.$Image),
(strlen($Source.$Image)-4),4)=='.jpeg' ||
substr(strtolower($Source.$Image),
(strlen($Source.$Image)-5),5)=='.jpeg'){
$src=imagecreatefromjpeg($Source.$Image);
}else{
echo 'Format d\'image non supporté. Utilisez des *.gif ou *.jpg';
exit();
}
$size = getimagesize($Source.$Image);
if($size[0] > $size[1]){
$im=imagecreatetruecolor(round(($ratio/$size[1])*$size[0]), $ratio);
imagecopyresized($im, $src, 0, 0, 0, 0, round(($ratio/$size[1])*$size[0]), $ratio, $size[0], $size[1]);
}
else{
$im=imagecreatetruecolor($ratio, round(($ratio/$size[0])*$size[1]));
imagecopyresized($im, $src, 0, 0, 0, 0, $ratio, round($size[1]*($ratio/$size[0])), $size[0], $size[1]);
}
if(!imagejpeg($im, $Destination.$Image)){
echo 'la création de l\'étiquette a echoué pout l\'image ',$Image;
}
}
$img = 'image.jpeg';
if(is_file('Miniature_'.$img)){
include('Miniature_'.$img);
}else{
CreateEtiquette2($img);
include('Miniature_'.$img);
}
?>
Sauf que voilà petit problème :
Voyez par vous meme il ne m'affiche pas des caractères bizarres ou une image mais
Parse error: parse error, unexpected '}' in
c:\program files\internet\serveurs\easyphp1-7\www\immortal-pc\miniatures\Miniature_image.jpeg on line 41
Ce qui est illogique, l'image est bien créée.
Petite précision mettez // devant les include et là plus d'érreur!!!!
Donc j'en déduit que c'est écrit dans l'image.
J'ai fait un test : j'ai ouvert l'image miniature avec paint et j'ai enregistré directement sans rien changer.
Je relance le script (l'image existe déjà donc pas de recréation de miniature) et la l'image apparait!!!
C'est où le bug ?
Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.