Pblm pour recalculer la taille image en PHP

Fermé
lyonnais69003 Messages postés 9 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 6 mai 2011 - 23 mars 2011 à 16:21
Bonjour à tous,

J'ai un problème pour recalculer la taille d'une image si elle dépasse 200*200 en upload en PHP.

Je n'arrive pas à faire fonctionner la commande imagecopyresized en cas d'image trop grande :

Voici le bout de mon code :

<<<<<

if ($action=="envoi")

{

// test de la taille du fichier

if ($lefichier_size > $taille)

{

$lefichier_size_ko=round($lefichier_size/1000);

$taille_ko=round($taille/1000);

affiche_erreur("Téléchargement impossible car la taille du fichier ( $lefichier_size_ko ko ) est supérieure à $taille_ko Ko");

echo "<br><center><a href=\"chargement.php3?numero=".$num_enreg."\">Retour au chargement d'image</a></center><br>";

echo "<br><center><a href=\"annul.php3?numero=".$num_enreg."&action=annul\">Enregistrer l'annonce sans image</a></center><br>";

echo "<br><center><a href=\"annul.php3?numero=".$num_enreg."&action=sup\">annulation de l'annonce</a></center><br>";

exit();

}

// test de présence de fichier

if ($lefichier=="none")

{

affiche_erreur("Transfert impossible, le fichier n'est pas renseigné");

echo "<center><a href=\"chargement.php3?numero=".$num_enreg."\"> Retour </a></center>";

exit();

}

// test d'existance du fichier

// if (file_exists($destination.$lefichier_name))

// {

// echo "<center><h1>Désolé, le fichier existe déja</h1>";

// echo "<br><br><a href=\"chargement.php3\">Retour</a></center>";

// exit();

// }

// else

// {

if ($lefichier && $lefichier != "none")

{

// on récupère le type d'image

$type=GetImageSize($lefichier);

$type_image="";

if ($type[2]==1) { $type_image=".gif"; }

if ($type[2]==2) { $type_image=".jpg"; }

if ($type[2]==3) { $type_image=".png"; }

// on determine le nom du fichier final en prenant le N° annonce + type de fichier et en rajoutant a devant



$fichier_final="a".$num_enreg.$type_image;



{

if (is_uploaded_file($lefichier))

{

move_uploaded_file($lefichier,"$destination$fichier_final");

{



// Le fichier



$ima = "http://monsite/".$destination.$fichier_final;

echo "<IMG SRC=".$ima.">";

// Définition de la largeur et de la hauteur maximale

$width = 200;

$height = 200;

// Cacul des nouvelles dimensions

list($width_orig, $height_orig) = getimagesize($ima);

$ratio_orig = $width_orig/$height_orig;

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

$width = $height*$ratio_orig;

} else {

$height = $width/$ratio_orig;

}



// Redimensionnement

$image_p = imagecreatetruecolor($width, $height);

$image = imagecreatefromjpeg($ima);

imagecopyresized($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);



// https://www.php.net/manual/fr/function.imagecopyresampled.php

// http://www.webmasterworld.com/forum88/11242.htm



// Affichage

//imagejpeg($image_p, null, 100);

echo "<IMG SRC=".$image_p.">"; //Test de la création de l'image modifiée

}

echo "$destination$fichier_final $ima";

}

else

{

echo "Attaque potentielle par fichier téléchargé : fichier '$lefichier'.";

}

}



>>>>>>>



Cela me renvoie cette erreur pour l'image « resizée » :

Warning: imagecopyresized(): supplied argument is not a valid Image resource in /mnt/169/sdc/8/f/monsite /chargement.php3 on line 91


Merci

Bonne fin de journée

Nagib