Créer miniature sur base d'un dossier d'images

WRInaute discret
Salut, :D

Je souhaite simplement créer des miniatures sur base d'un dossier d'images et les enregistrer dans un autre répertoire.
Tous les tutos que j'ai lu parlent de libraire GD etc. N'y a t'il aucun autre moyen de faire ça en php sans avoir besoin d'une librairie de plus.

Je suis chez OVH en mutualisé 240 plan.

Merci. :D
 
WRInaute accro
Pour GD tu n'as pas besoin de librairie "en plus" ... elle est normalement deja présente sur ton mutu : t'as plus qu'a mettre les pieds sous la table et te coder ca (c'est vite fait avec GD)
 
WRInaute discret
Ok mais mon problème est le suivant. J'ai lu qu'il fallait changer le header en ceci :

header ("Content-type: image/jpg");

Seul hic, c'est que lorsque je mets ce header en début de page, je ne vois plus rien sur mon site, ce qui semble logique vu que je dis alors que le navigateur reçois une image alors qu'il reçoit du html et du php.

Comment gérer ce header ? Je ne vois pas bien comment placer ce header dans ma structure existante. Devrais-je faire le redimensionnement des images sur une page externe en dehors de ma structure actuelle afin de ne pas avoir ce problème de header ?

Une idée ?
 
WRInaute accro
Bon pour faire simple GD te permet de créer des images (de les filtrer / convertir, resizer etc ...)
donc il te faut faire un script qui ouvre l'image d'origine, en change la taille et l'enregistre dans un dossier.

Tu n'a pas besoins d'envoyer un header type png ou jpg, une fois les miniature réalisées tes pages pourront les utiliser de façon classique.

un truc du genre :

Code:
<?php
	$rep = $HTTP_SERVER_VARS['DOCUMENT_ROOT']."/blabla/";
	$dir = opendir($rep);
	while ($f = readdir($dir)){
		if (is_file($rep.$f) && preg_match("/jpg/",$f) && substr($f,0,2)!="TN"){
			$size = getimagesize ($rep.$f); 
			$largeur_image = $size[0]; 
			$hauteur_image = $size[1];
			$echelle = 83/$hauteur_image;
			if (!file_exists($rep."/TN_".$f)){
				$picdest = imagecreatetruecolor($largeur_image*$echelle,$hauteur_image*$echelle);
				$picsrc = imagecreatefromjpeg($rep.$f); 
				imagecopyresampled ($picdest,$picsrc,0,0,0,0,$largeur_image*$echelle,$hauteur_image*$echelle,$largeur_image,$hauteur_image );
				imagejpeg($picdest,$rep."TN_".$f);
				ImageDestroy($picdest);
			}
		}  
	}
	closedir($dir);
?>
 
WRInaute discret
Re: Créer miniature sur base d'un dossier d'images RESOLU

Ouais en fait je viens de tester et ça marche nickel. Merci pour votre aide.
Je m'étais simplement trompé dans le répertoire de destination, je ne voyais donc rien qui bougeait mais ma miniature avait bien été crée ailleurs. Donc désolé de cette stupide erreur. Encore merci pour votre réactivité.

a++ :D
 
Discussions similaires
Haut