Upload et compression

Répondre
doctino
le 10/09/2005 à 10:40
doctino
bonjour,

J'ai un soucis avec mon upload le formulaire fonctionne et le traitement se deroule correctement mais l'image recopier et compresser change de couleur ce qui donne un rendu plus que mediocre alors si quelqu un veut bien me donner un coup de main je vous en remerci d avance.
a+

http://www.lephpfacile.com/wall/wall.php?id=2427
tino
Bzh
le 10/09/2005 à 11:05
Bzh
Erreur courante !!!

Vous vous trompez lors du choix des fonctions à utiliser !!!

Il est important de rester logique !!!

Voici le script de miniature que j' utilise sur tous mes sites:

<?php

//Utilisation de la fonction de imagecreatefromjpeg()

if( $source = imagecreatefromjpeg("../photos/$photo") ){

Choix de la taille de notre image
$taille_largeur = 100;

//Utilisation de la fonction imagecreatetruecolor()

$destination = imagecreatetruecolor($taille_largeur, ($taille_largeur * imagesy($source) ) / imagesx($source) );

$largeur_source = imagesx($source);
$hauteur_source = imagesy($source);
$largeur_destination = imagesx($destination);
$hauteur_destination = imagesy($destination);

//Utilisation de la fonction imagecopyresampled() afin de redimentionner notre image

imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);


//La fin change car l' image est juste compressé et affiché directement dans mon cas !!!

header ("Content-type: image/jpeg");
imagejpeg ($destination);

}

?>


Bon courage...

Bye...
doctino
le 10/09/2005 à 11:37
doctino
re

Effectivement il n y a pas photo ;) par contre je voudrais controler l extension de la photo jpg, gif et dans mon cas (voir wall) cela ne fonctionne pas il me dit que c pas un format jpg pourkoi

A+
tino
Bzh
le 10/09/2005 à 13:53
Bzh
$extension="jpeg";


Es-tu sur que l' extention d' une photo est jpeg ???

A mon avis se serait plustot "jpg" ou "JPG" ou "JPEG" !!!

Utilise plutot les expressions régulières !!!!
doctino
le 10/09/2005 à 18:21
doctino
RE ok la tout fonctionne par contre la photo n est pas obigatoire dans le champ comment faire ??

<?php $destination="./fichiers/"; 
$destinationpm="./fichierspm/";

$pourcent="50";
// on vérifie maintenant l'extension
$type_file = $_FILES['fichier']['type'];

if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') )
{
exit("<img src=\"images/warning.gif \" ><b>L'extension de votre photo n'est pas un JPG ou JPEG merci de resaisir le formulaire avec la bonne extension <a class=\"liens_bleu\" href=\"ajoute-petite-annonce.php\">RETOUR</a></b>");

}


$fichier_name = time()."_".$_FILES["fichier"]["name"];

if (($fichier&& $fichier != "none"))
{
copy($fichier, $destination.$fichier_name);

$nom = $destination.$fichier_name;
$nom_copie = $destination.'copie_'.$fichier_name;

$size = getimagesize($nom);

$largeur = $size[0];
$hauteur = $size[1];

$x = ($pourcent*$largeur)/100;
$y = ($pourcent*$hauteur)/100;


$im_out = imagecreatetruecolor($x, $y);
$im_in = imagecreatefromjpeg($nom);


imagecopyresampled($im_out, $im_in, 0, 0, 0, 0, $x, $y, $largeur, $hauteur);
imagejpeg($im_out, $nom_copie);
imagedestroy($im_in);
imagedestroy($im_out);
unlink("$destination/$fichier_name");
}

}
else
{$fichier_name="";
echo"<center><b>Votre annonce a bien été ajoutée.</b></center>";
echo("<script language=\"javascript\">location=\"index.php\";</script>");
}
// ---------- Enregistrement des données dans la base
mysql_query("INSERT INTO annonces VALUES('', '" . $pseudo . "', '" . $pass . "', '" . $mail . "','" . $categorie . "', '" . $titre . "', '" . $description . "', '" . $prix . "', '" . $date . "', '" . copie_.$fichier_name . "', '" . $cp . "', '" . $ville . "', '". 1 ."')");

// ---------- Déconnexion de la base MySQL
php ?>


a+
tino
Bzh
le 11/09/2005 à 11:55
Bzh
Bin si le champs est vide (empty(); ), bin tu ne le traite pas !!!

Tout simplement !!!

Pourquoi chercher compliqué quand on peut faire simple...

Bye...
doctino
le 11/09/2005 à 20:45
doctino
re

c est a dire je ne suis pas peut tu me donner un exemple stp ou un lien j aimerais bien comprendre.
a+
tino
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours