Hello.

Je souhaite créer des vignettes à partir d'images uploadées via un formulaire.

J'utilise une fonction de redimensionnement en PHP, et j'insère la vignette dans ma page :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
<?php 
$img_src = "/uploads/trucs/".$truc->getAdvertisementImage();
insertAndResizeImage($img_src, $max_width, $max_height)
?>
Et dans ma fonction insertAndResizeImage, je calcule les dimensions optimales, puis j'insère mon image :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
<?php 
echo "<a href='".$img_src."'><img src='".$img_src."' height='".$new_size['height']."px' width ='".$new_size['width']."px'></img></a>"; 
?>
Tout fonctionne. Oui mais j'ai triché en fixant la taille de mon image pour tester ma fonction.

Je pensais que le code suivant me permettrait d'obtenir la taille de mon image :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
$size = getimagesize($img_src);
 
$image_width  = $size[0];
$image_height = $size[1];
Mais non
J'obtiens le message d'erreur suivant :
Warning: getimagesize(/uploads/trucs/193123ce1ac86ede842f5e5e92ea7de86b78fb48.png)
[function.getimagesize]: failed to open stream: No such file or directory in C:\dev\sfproject\project\apps\frontend\modules\truc\templates\_resizeImage.php on line 4
J'en viens donc à ma question :
Existe-t-il une manière propre d'indiquer à ma fonction getimagesize() l'emplacement du répertoire uploads autre que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
$size = getimagesize('http://localhost:8080/'.$img_src);
 
$image_width  = $size[0];
$image_height = $size[1];

Merci d'avance !