$ordre=$_GET['ordre'];
// L'utilisateur a le choix de l'ordre d'affichage des fiches
if ($ordre=='')
{$sel="SELECT numfiche,nom,datevalid from matable WHERE etat='3' ORDER BY
datevalid DESC";}
elseif ($ordre=='nom')
{$sel="SELECT numfiche,nom,datevalid from matable WHERE etat='3' ORDER BY
nomplante ASC";}
elseif ($ordre=='numfiche')
{$sel="SELECT numfiche,nom,datevalid from matable WHERE etat='3' ORDER BY
numfiche ASC";}
$req = mysql_query($sel) or die('Erreur SQL !'.$sel.'<br>'.mysql_error());
echo '<table><tr><td><a href="affichage.php?ordre=numfiche">Photo</a></td>
<td><a href="affichage.php?ordre=nom">Intitulé</a></td>
<td><a href="affichage.php?ordre=">Date d\'identification</a></td>
</tr>';
while ($data=mysql_fetch_assoc($req))
{
$numfiche=$data['numfiche'];
$nom=$data['nom'];
$datevalid=$data['datevalid'];
$dateident=dateendroit($datevalid);
$photo='photos/'.$numfiche.'_1.jpg';
$image = exif_thumbnail($photo, $larg, $haut, $type);
echo'<tr><td><a href="voirfiche.php?numfiche='.$numfiche.'"
target="_blank">';
// Si la vignette existe on l'affiche, sinon on met le numéro de la fiche
if ($image)
{echo '<img
src="data:image/png;base64,'.base64_encode($image).'"
width="'.$larg.'" height="'.$haut.'" alt="mini" />';}
else
{
echo $numfiche;
}
echo '</a></td>
<td>'.stripslashes($nom).'</td>
<td>'.$dateident.'</td></tr>';
}
echo'</table>
Jusqu'à présent, ce tableau ne comportait aucune image, il était donc vite
chargé bien que le nombre d'enregistrements soit important (il y avait
juste l'inconvénient d'un ascenseur à rallonge, pas très élégant et peu
pratique).
Avec les vignettes, je ne peux plus continuer comme ça, il faut que je
fasse des pages moins longues, par exemple d'une vingtaine ou d'une
trentaine de fiches) et que les utilisateurs puissent « naviguer » d'une
page à l'autre (sans perdre l'ordre de tri qu'ils ont choisi.
Je pense qu'il faut utiliser l'option LIMIT dans Mysql pour récupérer les
enregistrements par « paquets » mais ça ne m'amène pas bien loin...
J'imagine que c'est un problème simple et classique, mais je m'y paume
quand même. Votre aide sera la bienvenue...
Oui, bien sûr. Je n'ai pas fait l'essai alors je ne peux pas te dire ce que ça donnera, mais si j'en crois la doc ça devrait être de meilleure qualité avec imagecopyresampled qu'avec imagecopyresized.
Il va falloir que je teste, mais un truc m'inquiète un peu, c'est que « mes » utilisateurs envoient des photos de taille souvent très différentes, il va falloir que je calcule les proportions des vignettes qui en découlent en fonction des photos d'origine (il est hors de question de réduire par exemple toutes les photos à 10% de leur taille originale), je sens que ça va nécessiter pas mal d'essais...
Oui, bien sûr. Je n'ai pas fait l'essai alors je ne peux pas te dire ce
que ça donnera, mais si j'en crois la doc ça devrait être de meilleure
qualité avec imagecopyresampled qu'avec imagecopyresized.
Il va falloir que je teste, mais un truc m'inquiète un peu, c'est que
« mes » utilisateurs envoient des photos de taille souvent très
différentes, il va falloir que je calcule les proportions des vignettes qui
en découlent en fonction des photos d'origine (il est hors de question de
réduire par exemple toutes les photos à 10% de leur taille originale), je
sens que ça va nécessiter pas mal d'essais...
Oui, bien sûr. Je n'ai pas fait l'essai alors je ne peux pas te dire ce que ça donnera, mais si j'en crois la doc ça devrait être de meilleure qualité avec imagecopyresampled qu'avec imagecopyresized.
Il va falloir que je teste, mais un truc m'inquiète un peu, c'est que « mes » utilisateurs envoient des photos de taille souvent très différentes, il va falloir que je calcule les proportions des vignettes qui en découlent en fonction des photos d'origine (il est hors de question de réduire par exemple toutes les photos à 10% de leur taille originale), je sens que ça va nécessiter pas mal d'essais...
-- Pascale
Olivier Miakinen
Le 12/09/2008 23:02, Pascale a écrit :
Il va falloir que je teste, mais un truc m'inquiète un peu, c'est que « mes » utilisateurs envoient des photos de taille souvent très différentes, il va falloir que je calcule les proportions des vignettes qui en découlent en fonction des photos d'origine (il est hors de question de réduire par exemple toutes les photos à 10% de leur taille originale), je sens que ça va nécessiter pas mal d'essais...
Facile !
Voici un bout de code avec les explications mathématiques en prime.
<?php $l_ori = largeur de l'image d'origine $h_ori = hauteur de l'image d'origine
/* * $l_max et $h_max sont la largeur max et la hauteur max admissibles. * Tu peux prendre la même valeur pour les deux, ou pas. */ $l_max = 60; $h_max = 60;
/* * $div est la valeur minimum par quoi tu dois diviser les dimensions * d'origine pour que les nouvelles dimensions soient inférieures aux * max que tu as définis. */ $div = max($l_ori/$l_max, $h_ori/$h_max);
if ($div <= 1) { /* * L'image d'origine est déjà suffisamment petite pour être sa * propre vignette : * $l_ori/$l_max <= $div <= 1 donc $l_ori <= $l_max * $h_ori/$h_max <= $div <= 1 donc $h_ori <= $h_max */ ... copier l'image d'origine en une vignette identique ... } else { $l_vign = floor($l_ori/$div); $h_vign = floor($h_ori/$div); /* * $div >= $l_ori/$l_max * donc 1/$div <= $l_max/$l_ori * donc $l_ori/$div <= $l_max * donc $l_vign <= $l_max * * Idem pour $h_vign <= $h_max */ ... réduire l'image de ($l_ori,$h_ori) en ($l_vign,$h_vign) ... } ?>
Et en ce qui concerne le fait de créer les vignettes une fois pour toute, oui ça me semble mieux que de les générer à la volée.
Le 12/09/2008 23:02, Pascale a écrit :
Il va falloir que je teste, mais un truc m'inquiète un peu, c'est que
« mes » utilisateurs envoient des photos de taille souvent très
différentes, il va falloir que je calcule les proportions des vignettes qui
en découlent en fonction des photos d'origine (il est hors de question de
réduire par exemple toutes les photos à 10% de leur taille originale), je
sens que ça va nécessiter pas mal d'essais...
Facile !
Voici un bout de code avec les explications mathématiques en prime.
<?php
$l_ori = largeur de l'image d'origine
$h_ori = hauteur de l'image d'origine
/*
* $l_max et $h_max sont la largeur max et la hauteur max admissibles.
* Tu peux prendre la même valeur pour les deux, ou pas.
*/
$l_max = 60;
$h_max = 60;
/*
* $div est la valeur minimum par quoi tu dois diviser les dimensions
* d'origine pour que les nouvelles dimensions soient inférieures aux
* max que tu as définis.
*/
$div = max($l_ori/$l_max, $h_ori/$h_max);
if ($div <= 1) {
/*
* L'image d'origine est déjà suffisamment petite pour être sa
* propre vignette :
* $l_ori/$l_max <= $div <= 1 donc $l_ori <= $l_max
* $h_ori/$h_max <= $div <= 1 donc $h_ori <= $h_max
*/
... copier l'image d'origine en une vignette identique ...
} else {
$l_vign = floor($l_ori/$div);
$h_vign = floor($h_ori/$div);
/*
* $div >= $l_ori/$l_max
* donc 1/$div <= $l_max/$l_ori
* donc $l_ori/$div <= $l_max
* donc $l_vign <= $l_max
*
* Idem pour $h_vign <= $h_max
*/
... réduire l'image de ($l_ori,$h_ori) en ($l_vign,$h_vign) ...
}
?>
Et en ce qui concerne le fait de créer les vignettes une fois pour
toute, oui ça me semble mieux que de les générer à la volée.
Il va falloir que je teste, mais un truc m'inquiète un peu, c'est que « mes » utilisateurs envoient des photos de taille souvent très différentes, il va falloir que je calcule les proportions des vignettes qui en découlent en fonction des photos d'origine (il est hors de question de réduire par exemple toutes les photos à 10% de leur taille originale), je sens que ça va nécessiter pas mal d'essais...
Facile !
Voici un bout de code avec les explications mathématiques en prime.
<?php $l_ori = largeur de l'image d'origine $h_ori = hauteur de l'image d'origine
/* * $l_max et $h_max sont la largeur max et la hauteur max admissibles. * Tu peux prendre la même valeur pour les deux, ou pas. */ $l_max = 60; $h_max = 60;
/* * $div est la valeur minimum par quoi tu dois diviser les dimensions * d'origine pour que les nouvelles dimensions soient inférieures aux * max que tu as définis. */ $div = max($l_ori/$l_max, $h_ori/$h_max);
if ($div <= 1) { /* * L'image d'origine est déjà suffisamment petite pour être sa * propre vignette : * $l_ori/$l_max <= $div <= 1 donc $l_ori <= $l_max * $h_ori/$h_max <= $div <= 1 donc $h_ori <= $h_max */ ... copier l'image d'origine en une vignette identique ... } else { $l_vign = floor($l_ori/$div); $h_vign = floor($h_ori/$div); /* * $div >= $l_ori/$l_max * donc 1/$div <= $l_max/$l_ori * donc $l_ori/$div <= $l_max * donc $l_vign <= $l_max * * Idem pour $h_vign <= $h_max */ ... réduire l'image de ($l_ori,$h_ori) en ($l_vign,$h_vign) ... } ?>
Et en ce qui concerne le fait de créer les vignettes une fois pour toute, oui ça me semble mieux que de les générer à la volée.
Olivier Miakinen
Le 12/09/2008 23:44, je répondais à Pascale :
Voici un bout de code [...]
Au fait, l'exemple #2 de http://fr.php.net/imagecopyresampled fait grosso modo la même chose, la différence essentielle étant que leur code génère une vignette plus grande que l'image d'origine dans le cas où celle-ci serait plus petite que les dimensions que tu auras choisies.
Le 12/09/2008 23:44, je répondais à Pascale :
Voici un bout de code [...]
Au fait, l'exemple #2 de http://fr.php.net/imagecopyresampled fait
grosso modo la même chose, la différence essentielle étant que leur
code génère une vignette plus grande que l'image d'origine dans le
cas où celle-ci serait plus petite que les dimensions que tu auras
choisies.
Au fait, l'exemple #2 de http://fr.php.net/imagecopyresampled fait grosso modo la même chose, la différence essentielle étant que leur code génère une vignette plus grande que l'image d'origine dans le cas où celle-ci serait plus petite que les dimensions que tu auras choisies.
Pascale
Olivier Miakinen <om+ écrivait news:48cae1c0$:
Facile !
Voici un bout de code avec les explications mathématiques en prime.[...]
Merci ! (-:
En attendant de gérer des vraies vignettes, j'avais trouvé une solution imparfaite (quand les exifs sont absentes ou incomplètes) mais qui convenait très bien :
Mais je viens de découvrir que cette saloperie d'IE7, non seulement tronque les URL qu'il trouve trop longues, mais ne supporte pas data: URL alors que même le vieil Icab sait le faire ! C'est PÉNIBLE !
Voici un bout de code avec les explications mathématiques en prime.[...]
Merci ! (-:
En attendant de gérer des vraies vignettes, j'avais trouvé une solution
imparfaite (quand les exifs sont absentes ou incomplètes) mais qui
convenait très bien :
Mais je viens de découvrir que cette saloperie d'IE7, non seulement tronque
les URL qu'il trouve trop longues, mais ne supporte pas data: URL alors que
même le vieil Icab sait le faire !
C'est PÉNIBLE !
Voici un bout de code avec les explications mathématiques en prime.[...]
Merci ! (-:
En attendant de gérer des vraies vignettes, j'avais trouvé une solution imparfaite (quand les exifs sont absentes ou incomplètes) mais qui convenait très bien :
Mais je viens de découvrir que cette saloperie d'IE7, non seulement tronque les URL qu'il trouve trop longues, mais ne supporte pas data: URL alors que même le vieil Icab sait le faire ! C'est PÉNIBLE !
-- Pascale
Pascale
Ton code pour dimensionner les vignettes, avec les explications, était limpide, et, pour la suite, je pensais m'en tirer convenablement.
Il semblerait que tu envoies le fichier binaire codant l'image dans une réponse censée être en text/html... non ?
1re solution (la meilleure, vraisemblablement) : imagejpeg($vign, "vignettes/$photo", 100);
2e solution : header("Content-Type: image/jpeg"); ... ... imagejpeg($vign, null, 100);
Pascale
Olivier Miakinen <om+ écrivait news:48cd6bab$:
Il semblerait que tu envoies le fichier binaire codant l'image dans une réponse censée être en text/html... non ?
1re solution (la meilleure, vraisemblablement) : imagejpeg($vign, "vignettes/$photo", 100);
T'en poses, de ces questions, toi (-:
Donc, je pensais être capable au moins de recopier, mais visiblement, c'est moi qui suis un peu binaire (la photo existe, je l'affiche ainsi que ses dimensions originales et réduites, et le répertoire vignettes a été créé) :
Et ben c'est un peu comme dans Space Quest 6 : « il ne se passe rien ». Ça devait pas créer et stocker une vignette ? Parce que c'est ça que je voudrais depuis le début (: (tout ça à cause de ce fichu IE...)
Il semblerait que tu envoies le fichier binaire codant l'image dans une
réponse censée être en text/html... non ?
1re solution (la meilleure, vraisemblablement) :
imagejpeg($vign, "vignettes/$photo", 100);
T'en poses, de ces questions, toi (-:
Donc, je pensais être capable au moins de recopier, mais visiblement, c'est
moi qui suis un peu binaire (la photo existe, je l'affiche ainsi que ses
dimensions originales et réduites, et le répertoire vignettes a été créé) :
Et ben c'est un peu comme dans Space Quest 6 : « il ne se passe rien ».
Ça devait pas créer et stocker une vignette ? Parce que c'est ça que je
voudrais depuis le début (: (tout ça à cause de ce fichu IE...)
Il semblerait que tu envoies le fichier binaire codant l'image dans une réponse censée être en text/html... non ?
1re solution (la meilleure, vraisemblablement) : imagejpeg($vign, "vignettes/$photo", 100);
T'en poses, de ces questions, toi (-:
Donc, je pensais être capable au moins de recopier, mais visiblement, c'est moi qui suis un peu binaire (la photo existe, je l'affiche ainsi que ses dimensions originales et réduites, et le répertoire vignettes a été créé) :
Et ben c'est un peu comme dans Space Quest 6 : « il ne se passe rien ». Ça devait pas créer et stocker une vignette ? Parce que c'est ça que je voudrais depuis le début (: (tout ça à cause de ce fichu IE...)
-- Pascale
Olivier Miakinen
Le 15/09/2008 00:26, Pascale a écrit :
T'en poses, de ces questions, toi (-:
Non seulement ça, mais je vais continuer (-;
Donc, je pensais être capable au moins de recopier, mais visiblement, c'est moi qui suis un peu binaire (la photo existe, je l'affiche ainsi que ses dimensions originales et réduites, et le répertoire vignettes a été créé) :
$vign = imagecreatetruecolor($l_vign, $h_vign);
Ok.
$image = imagecreatefromjpeg($photo);
Que vaut $photo ? Où se trouve physiquement cette photo sur ton disque (surtout par rapport à l'emplacement du script) ?
Attention, avec les guillemets simples tu crées un fichier de nom '$photo' sous le répertoire 'vignettes', et pas un fichier dont le nom est contenu dans la variable $photo.
Où se trouve physiquement le répertoire 'vignettes' sur ton disque ? Est-ce que l'utilisateur propriétaire du script y a accès en lecture, écriture et exécution ?
Le 15/09/2008 00:26, Pascale a écrit :
T'en poses, de ces questions, toi (-:
Non seulement ça, mais je vais continuer (-;
Donc, je pensais être capable au moins de recopier, mais visiblement, c'est
moi qui suis un peu binaire (la photo existe, je l'affiche ainsi que ses
dimensions originales et réduites, et le répertoire vignettes a été créé) :
$vign = imagecreatetruecolor($l_vign, $h_vign);
Ok.
$image = imagecreatefromjpeg($photo);
Que vaut $photo ? Où se trouve physiquement cette photo sur ton disque
(surtout par rapport à l'emplacement du script) ?
Attention, avec les guillemets simples tu crées un fichier de nom
'$photo' sous le répertoire 'vignettes', et pas un fichier dont le
nom est contenu dans la variable $photo.
Où se trouve physiquement le répertoire 'vignettes' sur ton disque ?
Est-ce que l'utilisateur propriétaire du script y a accès en lecture,
écriture et exécution ?
Donc, je pensais être capable au moins de recopier, mais visiblement, c'est moi qui suis un peu binaire (la photo existe, je l'affiche ainsi que ses dimensions originales et réduites, et le répertoire vignettes a été créé) :
$vign = imagecreatetruecolor($l_vign, $h_vign);
Ok.
$image = imagecreatefromjpeg($photo);
Que vaut $photo ? Où se trouve physiquement cette photo sur ton disque (surtout par rapport à l'emplacement du script) ?
Attention, avec les guillemets simples tu crées un fichier de nom '$photo' sous le répertoire 'vignettes', et pas un fichier dont le nom est contenu dans la variable $photo.
Où se trouve physiquement le répertoire 'vignettes' sur ton disque ? Est-ce que l'utilisateur propriétaire du script y a accès en lecture, écriture et exécution ?
Merci d'être là, tu es la bouée de sauvetage pour les nul(le)s de mon espèce ! (-:
Que vaut $photo ? Où se trouve physiquement cette photo sur ton disque (surtout par rapport à l'emplacement du script) ?
$photo est une image distante, située dans un sous-répertoire (par rapport à celui où est le programme que j'exécute), nommé... photos. Je l'affiche, elle est là, pas de problème.
Attention, avec les guillemets simples tu crées un fichier de nom '$photo' sous le répertoire 'vignettes', et pas un fichier dont le nom est contenu dans la variable $photo.
Oui, oui, l'heure tardive, sans doute, mais c'est corrigé.
Où se trouve physiquement le répertoire 'vignettes' sur ton disque ? Est-ce que l'utilisateur propriétaire du script y a accès en lecture, écriture et exécution ?
vignettes est un sous-répertoire au même niveau hiérarchique que photos. J'ai vérifié qu'il n'y a pas d'erreur orthographique (un s, pas de majuscule...). Les permissions sont à 777.
Donc j'ai ça :
<? include "fonc.php"; echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> // j'abrège (-: </head> <body>'; // Je choisis un exemple de fiche $numfiche='1964'; $photo='photos/'.$numfiche.'_1.jpg'; // La photo d'origine est affichée echo '<img src="'.$photo.'"><br>'; $dimvign=dimvignette($photo); $l_vign=$dimvign[0] ; $h_vign=$dimvign[1] ; $l_ori=$dimvign[2]; $h_ori=$dimvign[3]; // J'affiche les dimensions d'origine et de la vignette : ça roule echo 'largeur d'origine '.$l_ori. ' <br>'; echo 'hauteur d'origine '. $h_ori. ' <br>'; echo 'largeur de la vignette '. $l_vign. ' <br>'; echo 'hauteur de la vignette '. $h_vign. ' <br>'; $vign = imagecreatetruecolor($l_vign, $h_vign); // Affiche Resource id #5 echo $vign.'<br>'; $image = imagecreatefromjpeg($photo); // Affiche Resource id #7 echo $image.'<br>'; imagecopyresampled($vign,$image, 0, 0, 0, 0, $l_vign, $h_vign, $l_ori, $h_ori); // Jusque là, il semble qu'on n'ait rien perdu en route imagejpeg($vign,"vignettes/$photo", 100); echo '<img src="vignettes/'.$photo.'"> // Là, ça se gâte : pas d'affichage et rien dans le répertoire vignettes... </body> </html>'; ?> -- Pascale
Merci d'être là, tu es la bouée de sauvetage pour les nul(le)s de mon
espèce ! (-:
Que vaut $photo ? Où se trouve physiquement cette photo sur ton disque
(surtout par rapport à l'emplacement du script) ?
$photo est une image distante, située dans un sous-répertoire (par rapport
à celui où est le programme que j'exécute), nommé... photos.
Je l'affiche, elle est là, pas de problème.
Attention, avec les guillemets simples tu crées un fichier de nom
'$photo' sous le répertoire 'vignettes', et pas un fichier dont le
nom est contenu dans la variable $photo.
Oui, oui, l'heure tardive, sans doute, mais c'est corrigé.
Où se trouve physiquement le répertoire 'vignettes' sur ton disque ?
Est-ce que l'utilisateur propriétaire du script y a accès en lecture,
écriture et exécution ?
vignettes est un sous-répertoire au même niveau hiérarchique que photos.
J'ai vérifié qu'il n'y a pas d'erreur orthographique (un s, pas de majuscule...).
Les permissions sont à 777.
Donc j'ai ça :
<?
include "fonc.php";
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
// j'abrège (-:
</head>
<body>';
// Je choisis un exemple de fiche
$numfiche='1964';
$photo='photos/'.$numfiche.'_1.jpg';
// La photo d'origine est affichée
echo '<img src="'.$photo.'"><br>';
$dimvign=dimvignette($photo);
$l_vign=$dimvign[0] ;
$h_vign=$dimvign[1] ;
$l_ori=$dimvign[2];
$h_ori=$dimvign[3];
// J'affiche les dimensions d'origine et de la vignette : ça roule
echo 'largeur d'origine '.$l_ori. ' <br>';
echo 'hauteur d'origine '. $h_ori. ' <br>';
echo 'largeur de la vignette '. $l_vign. ' <br>';
echo 'hauteur de la vignette '. $h_vign. ' <br>';
$vign = imagecreatetruecolor($l_vign, $h_vign);
// Affiche Resource id #5
echo $vign.'<br>';
$image = imagecreatefromjpeg($photo);
// Affiche Resource id #7
echo $image.'<br>';
imagecopyresampled($vign,$image, 0, 0, 0, 0, $l_vign, $h_vign, $l_ori,
$h_ori);
// Jusque là, il semble qu'on n'ait rien perdu en route
imagejpeg($vign,"vignettes/$photo", 100);
echo '<img src="vignettes/'.$photo.'">
// Là, ça se gâte : pas d'affichage et rien dans le répertoire vignettes...
</body>
</html>';
?>
--
Pascale
Merci d'être là, tu es la bouée de sauvetage pour les nul(le)s de mon espèce ! (-:
Que vaut $photo ? Où se trouve physiquement cette photo sur ton disque (surtout par rapport à l'emplacement du script) ?
$photo est une image distante, située dans un sous-répertoire (par rapport à celui où est le programme que j'exécute), nommé... photos. Je l'affiche, elle est là, pas de problème.
Attention, avec les guillemets simples tu crées un fichier de nom '$photo' sous le répertoire 'vignettes', et pas un fichier dont le nom est contenu dans la variable $photo.
Oui, oui, l'heure tardive, sans doute, mais c'est corrigé.
Où se trouve physiquement le répertoire 'vignettes' sur ton disque ? Est-ce que l'utilisateur propriétaire du script y a accès en lecture, écriture et exécution ?
vignettes est un sous-répertoire au même niveau hiérarchique que photos. J'ai vérifié qu'il n'y a pas d'erreur orthographique (un s, pas de majuscule...). Les permissions sont à 777.
Donc j'ai ça :
<? include "fonc.php"; echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> // j'abrège (-: </head> <body>'; // Je choisis un exemple de fiche $numfiche='1964'; $photo='photos/'.$numfiche.'_1.jpg'; // La photo d'origine est affichée echo '<img src="'.$photo.'"><br>'; $dimvign=dimvignette($photo); $l_vign=$dimvign[0] ; $h_vign=$dimvign[1] ; $l_ori=$dimvign[2]; $h_ori=$dimvign[3]; // J'affiche les dimensions d'origine et de la vignette : ça roule echo 'largeur d'origine '.$l_ori. ' <br>'; echo 'hauteur d'origine '. $h_ori. ' <br>'; echo 'largeur de la vignette '. $l_vign. ' <br>'; echo 'hauteur de la vignette '. $h_vign. ' <br>'; $vign = imagecreatetruecolor($l_vign, $h_vign); // Affiche Resource id #5 echo $vign.'<br>'; $image = imagecreatefromjpeg($photo); // Affiche Resource id #7 echo $image.'<br>'; imagecopyresampled($vign,$image, 0, 0, 0, 0, $l_vign, $h_vign, $l_ori, $h_ori); // Jusque là, il semble qu'on n'ait rien perdu en route imagejpeg($vign,"vignettes/$photo", 100); echo '<img src="vignettes/'.$photo.'"> // Là, ça se gâte : pas d'affichage et rien dans le répertoire vignettes... </body> </html>'; ?> -- Pascale