Je sais que c´est pas le forum, ni le moment, mais j´ai posté a pas mal de places, mais j´ai pas de réponses...
Donc si ici qqun connait le php, j´aimerais bien qu´il m´aide Pour ceci
<?
/* Ce script permet de créer à la volée les miniatures d´une galerie photos
à partir de ses fichiers se trouvant dans un dossier choisit par l´utilisateur.
Le script controle la dimension des fichiers sources et les redimensionne si nécessaire à
la dimension maximale autorisé par l´utilisateur. Le script crée automatiquement
les miniatures à une taille choisi par l´utilisateur et le dossier ou elles seront stockeés.
Attention ce script est très gourmant en ressource... A exécuter de préférence sur son
pc avec easyphp !! ! la librairie GD doit être activée dans les options !! !
Sylvain Genoud avril 2006
$dosmin = "../miniatures/1mai05/"; // adresse ou
sera crée le dossier et stocké les miniatures
$dospict = "../images/1mai05/"; // adresse ou se
trouve les fichiers sources à partir desquels seront crée les miniatures
$max = 640; // taille maximum de l´image source e
n pixel
$gdratio = 480; // ratio pour l´image redimmensio
nnement correct
$ptratio = 75; // ratio pour redimmensionnement d
e la miniature
// controler si dossier vide ou si utilisateur veu
x générer miniatures
// boucle pour lire tous les fichiers se trouvant
dans le dossier images
// ----------------- Création du dossier miniature
s ----------------------
if(file_exists($dospict)&&!file_exists($dosmin)) {
$oldumask = umask(0000);
if(!@mkdir($dosmin)) echo"problème avec la création du dossier des miniatures";
umask($oldumask);
}
//------------------- Script traitement des fichie
rs -----------------------
if(file_exists($dospict)&&file_exists($dosmin)) {
//-- on va chercher les fichiers et stocké leur n
om dans un tableau --
$images = array();
$open = opendir($dospict);
while ($fichier = readdir($open)) {
if ($fichier != ´.´ && $fichier != ´..´) {
$images[] = $fichier;
sort($images);
}
}
closedir ($open);
//-----------------------------------------------
--
$nbpics = count($images); // compte le nombre d
´images
if ($nbpics!=0) { // on exécute le script s´il
y a au moins une image
for ($i=0;$i<$nbpics;$i++) { // boucle for nb
d´image
if ($size = @getimagesize($dospict."/".$image
s[$i])) { // si c´est un fichier image on continue autrement supprimer
if ($size[2] != 2) { // si le fichier n´est
pas au format jpg on efface
unlink($dospict."/".$images[$i]) ; // supp
ression
} else {

$fichier = imagecreatefromjpeg($dospict."/".
$images[$i]); // création d´une copie de l´image

//---------------- traitement de l´image avec
php_GD -----------------------
if($size[0]<=$max&&$size[1]<=$max) { // con
trole la taille de l´image maximum
if ($size[0] > $size[1]) { // on teste si
notre image est de type paysage ou portrait
$min =
imagecreatetruecolor(round(($ptratio/$size[1])*$si
ze[0]),$ptratio);
imagecopyresampled($min,$fichier,0,0,0,0,
round(($ptratio/$size[1])*$size[0]),$ptratio,$size
[0],$size[1]);
} else {
$min =
imagecreatetruecolor($ptratio,round(($ptratio/$siz
e[0])*$size[1]));
imagecopyresampled($min,$fichier,0,0,0,0,
$ptratio,round($size[1]*($ptratio/$size[0])),$size
[0],$size[1]);
}
imagejpeg($min,$dosmin."/".$images[$i]); /
/ enregiste une petite image
} else { // images plus grande que la taill
e max... redimensionnement
if ($size[0] > $size[1]) { // on teste si
notre image est de type paysage ou portrait
$min =
imagecreatetruecolor(round(($ptratio/$size[1])*$si
ze[0]),$ptratio);
$pict =
imagecreatetruecolor(round(($gdratio/$size[1])*$si
ze[0]),$gdratio);
imagecopyresampled($pict,$fichier,0,0,0,0
,round(($gdratio/$size[1])*$size[0]),$gdratio,$siz
e[0],$size[1]);
imagecopyresampled($min,$fichier,0,0,0,0,
round(($ptratio/$size[1])*$size[0]),$ptratio,$size
[0],$size[1]);
} else {
$min =
imagecreatetruecolor($ptratio,round(($ptratio/$siz
e[0])*$size[1]));
$pict =
imagecreatetruecolor($gdratio,round(($gdratio/$siz
e[0])*$size[1]));
imagecopyresampled($pict,$fichier,0,0,0,0
,$gdratio,round($size[1]*($gdratio/$size[0])),$siz
e[0],$size[1]);
imagecopyresampled($min,$fichier,0,0,0,0,
$ptratio,round($size[1]*($ptratio/$size[0])),$size
[0],$size[1]);
}
imagejpeg($min,$dosmin."/".$images[$i]); /
/ enregiste une petite image
imagejpeg($pict,$dospict."/".$images[$i]);
// écrase l´image redimensionnée sur l´ancien fic
hier
}
}
} else {
unlink($dospict."/".$images[$i]); // si le f
ichier n´est pas une image, on efface le fichier
}
}
} else { // message en cas d´erreur
$erreur ="Le répertoire est vide... Ajoute tes
images !! !<br />\n";
$erreur.="Recommence l´opération dès le début merci...";
echo $erreur;
}
} else { // message en cas d´erreur
$erreur ="Problème avec les répertoires... Soit
le dossier photos n´existe pas<br />\n";
$erreur.="soit le dossier des miniatures existe déjà... Tu dois remedier à cela avant<br />\n";
$erreur.="avant de poursuivre... Merci de recommencer l´opération...";
echo $erreur;
}
//------------------------------------------------
-------------------
?>
J´ai un problème a la ligne 64 que j´ai mis en évi
dence entre deux smyley^^
Le message de easy php est le suivant :
Fatal error: Call to undefined function: imagecreatefromjpeg() in c:\documents and settings\savoy philippe\mes documents\arnaud\siteweb\galleries\1mai05.php on line 64
Donc si qqun peut m´aider ce serais sympatoche