Redimensionner une image à partir de l'url

galoXer Messages postés 2 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 28 janvier 2008 - 11 juin 2007 à 16:41
dvdstory Messages postés 192 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 10 août 2009 - 18 juin 2007 à 07:58
Bonjour à toutes et à tous !

J'ai réalisé depuis peu un script d'upload d'image qui permet à mes
nouveaux membres d'envoyer directement une image en guise d'avatar à
partir de leurs DD. Ca fonctionne correctement, il y a pas de problème
et tout le monde est content . Mais voilà, je me demandais comment fait-on pour envoyer une image à
partir d'un autre serveur (comme imageshack.us par exemple) et par la
même occasion, redimensionner l'image en question.

En fait, envoyer une image je sais le faire, j'envoie l'url posté par
le membre et l'enregistre dans la BDD comme un simple pseudo... C'est
surtout du côté du la redimension que ça bloque puisqu'il faut à la
base l'image en ligne dans son hébergeur (j'ai essayé et ça fonctionné
lorsque l'image de source se trouvé dans mon hébergeur).

Donc je veux que l'url de l'image enregistré à la bdd correspond à la miniture qui, est quant à elle dans mon hébergeur.

Merci de m'avoir lu et en espérant avoir quelques réponse

2 réponses

J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 9
11 juin 2007 à 17:23
Salut...

Bon, j'ai pas tout compris... Quel image est sur ton serveur, quelle autre n'y est pas...

enfin, e vais essayer de répondre :

pour redimensionner une image, rien de mieux que ça :

<?php
// The file
$filename = 'test.jpg';

// Set a maximum height and width
$width = 200;
$height = 200;

// Content type
header('Content-type: image/jpeg');

// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);

$ratio_orig = $width_orig/$height_orig;


if ($width/$height > $ratio_orig) {

   $width = $height*$ratio_orig;

} else {

   $height = $width/$ratio_orig;

}

// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

// Output
imagejpeg($image_p, null, 100);
?>


Ensuite, si l'image n'est pas sur ton serveur. Il faut pouvoir y accéder :
Alors dans le script précédant, donne à $filename une valeur telle que 'http://autre.serveur.web/image/fichier.jpeg'

Et essaye de voir si tu peux... Mais je te conseil de ne faire cette opération qu'une seule fois par image, sinon tu vas largement ralentir ton site! A+
1
dvdstory Messages postés 192 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 10 août 2009
18 juin 2007 à 07:58
Faut dabord la redimensionné tant qu'elle est sur ton serveur puis l'enregistrer dans le service d'herbergement d'image distant.

GRUNENBERGER Benoît
0