[RESOLU] Upload d'une image miniature sans GD

Upload d'une image miniature sans GD [RESOLU] - PHP - Programmation

Marsh Posté le 18-05-2005 à 09:59:11    

Salut à tous encore moi et oui...
J'ai un pitit soucis en fait, je doit pour mon site, Uploader une image, jusqu'ici rien de bien compliquer, j'insère le l'url de l'image dansma base, ici ok aussi..
ça ce complique lorsque je vous dit que je souhaiterais uploader en même temps que la grosse image une miniature, j'ai le script pour réduire l'image, j'ai le script pour uploader les images (ils fonctionnent tous les deux j'ai testé) mais je c pas comment faire pour uploader ma chtite image (déjà la crée au moins)
 
Voici les deux bouts de codes importants :)

Code :
  1. // upload de la grande photo avec comme nom l'id de la compétition, l'id du membre le nom du fichier.
  2.     $repertoireDestination = "../../files/normales/";
  3.     $nomDestination = $compet." - ".$id." - ".$_FILES["monfichier"]["name"];
  4.     // Pour raison de sécurité nous ajouterons aux fichiers
  5.     // portant une extension .php .php3, l'extension .txt
  6.     $php = ".php";
  7.     $repl = ".txt";
  8.     $nomDestination = str_replace($php, $repl, $nomDestination);
  9.    
  10.     if (is_uploaded_file($_FILES["monfichier"]["tmp_name"])) {
  11.         if (@rename($_FILES["monfichier"]["tmp_name"],
  12.                    $repertoireDestination.$nomDestination)) {
  13.             echo "<br>La photo de la compétition a été uploadée vers ".$repertoireDestination.$nomDestination;
  14.         } else {
  15.             echo "<br>Le déplacement du fichier temporaire a échoué <br>".
  16.                  " vérifiez l'existence du répertoire ".$repertoireDestination. " ou bien si le fichier n'est pas déjà présent dans ce répertoire <br>";
  17.        }         
  18.     } else {
  19.        echo "<br>Le fichier n'a pas été uploadé pour la photo de la compétition";
  20.     }
  21. }


 
puis la fonction de réduction :  

Code :
  1. $chemin_image = $repertoireDestination.$nomDestination;
  2. //function reduce($chemin_image){ a mettre dans un fichier de fonction si necessaire
  3. $taille = getimagesize("$chemin_image" ); //getimagesize retoune la taille des images
  4. $max=180;//taille max autorisée en pixels
  5. $max2=180;
  6.   $h_i = $taille[1];
  7.   $w_i = $taille[0];
  8.   echo"<br>Dimensions originales de l'image : largeur : $w_i Hauteur : $h_i";
  9.   if($w_i >$max)
  10.   {
  11.   $convert=$max/$w_i;
  12.   $w_i=$max;
  13.   $h_i=ceil($h_i*$convert);
  14.   }
  15.   else if($h_i >$max2)
  16.   {
  17.   $convert2=$max2/$h_i;
  18.   $h_i=$max2;
  19.   $w_i=ceil($w_i*$convert2);
  20.   }
  21.   echo"<br>Dimensions après redimentionnement de l'image : largeur : $w_i Hauteur : $h_i";


 
j'ai bien essayé un <img src= chemin_image WIDTH et HEIGHT> et après d'uploader cette image mais je sais pas ça fonctionne pas... :(
Si quelqu'un à une solution, je vous en remercierais :D Merci d'avance, et bonne journée à vous. ;)


Message édité par micfont999 le 18-05-2005 à 14:53:49
Reply

Marsh Posté le 18-05-2005 à 09:59:11   

Reply

Marsh Posté le 18-05-2005 à 10:11:21    

Ne peut t'on pas changer après le $_FILES['monfichier']['size'];?? par hasard, ça irais tout seul non??

Reply

Marsh Posté le 18-05-2005 à 10:33:52    

Personne pour help Me?? snif, bah je pensais que ça serait résolu en 10 secondes avec les mecs balèzes de ce forum, normalement vous avez toujours des solutions les gars... Zut alors je vous ai posé une colle?? ;) Bon bah je continu de bidouiller je trouverais peu etre,tenez moi au courant si vous avez une soluce adéquate, merki d'avance :)

Reply

Marsh Posté le 18-05-2005 à 11:11:01    

j'ai pas compris, tu veux uploader un fichier qui n'existe pas ??
pourquoi tu veux pas utiliser gd ?

Reply

Marsh Posté le 18-05-2005 à 11:19:11    

je veux uploader un fichier qui existe déjà ::: En fait je veux faire une galerie d'image oki..
J'upload donc la grosse photo dans un répertoire nommé normales et après je souhaite dans la lancée uploader la miniature de cette grosse photo dans un dossier nommé miniature... Donc ce que j'essai de faire c'est une fois la grosse photo uploadée, reprendre ses dimension d'origine, redimentionner tout ça dans les bonnes proportions (cf code ci dessus) et de suite après en fait réuploader la grosse image en passant en paramètres la taille du redimmentionnement.. Tu aurais une autre solution pour uploader les deux images de taille différentes dans deux dossiers différents dans une même page php?? Si oui je suis preneur..
Je veux pas utiliser GD car pour le moment je suis en local, et je ne sais pas sur quel serveur je vais passer mais certain ne l'on pas activés, voili voilou :)  
Merci de ta réponse j'ai eu peur qu'il n'y àai pas de solution miracle à mon pb.. ça me rassure si tu n'a pas tout compris lol ça veux dire qu'avec des explications on trouvera pi etre la soluce :D  
Merci encore.

Reply

Marsh Posté le 18-05-2005 à 11:41:54    

Est ce possible de modifier les paramètre du getimagesize ?? Si oui alors il n'y aurais plus de problème en fait c'est ça qu'il me faudrais, pouvoir modifier les paramètre du $_FILES['monfichier']['tmp_name']; au niveau de la taille, c'est possible.??

Reply

Marsh Posté le 18-05-2005 à 11:54:40    

micfont999 a écrit :

Est ce possible de modifier les paramètre du getimagesize

cette question n'a aucun sens
 

micfont999 a écrit :

pouvoir modifier les paramètre du $_FILES['monfichier']['tmp_name']; au niveau de la taille, c'est possible.??

heu c'est quoi les paramètres de $_FILES['monfichier']['tmp_name'] pour toi ???
 
j'ai pas tout compris encore... ta logique est bizarre...
 
 
 

Reply

Marsh Posté le 18-05-2005 à 12:04:05    

bah j'ai pas trop de logique en fait lol, ce que je veux en clair :  
j'ai mon formulaire, je choisis une photo et zou je valide
j'arrive sur la page php, je veux dans un premier temps upolader la photo originale (taille largeur et hauteur originale) dans un fichier nommé normal, puis créer une vignette avec une hauteur et une largeur maximale donnée de cette photo et uploader cette vignette dans un dossier nommé miniatures, sans avoir à repasser par une autre page ... C'est plus clair la?? Non je crois pas trop, je vais manger et je réexplique ça bien après... :D

Reply

Marsh Posté le 18-05-2005 à 12:11:12    

micfont999 a écrit :

puis créer une vignette avec une hauteur et une largeur maximale donnée de cette photo et uploader cette vignette dans un dossier nommé miniatures


si tu crées une miniature automatique c'est coté serveur, donc :
- "uploader cette vignette" n'as pas de sens
- tu as besoins de gd (ou autre lib graphique)

Reply

Marsh Posté le 18-05-2005 à 14:00:24    

oki, oui c'est vrai c'est coté serveur je me suis tromper, désolé, alors je vais essayer de faire ça avec la librairie GD ... sinon tu me conseil de faire comment? merci pour ta réponse.

Reply

Marsh Posté le 18-05-2005 à 14:00:24   

Reply

Marsh Posté le 18-05-2005 à 14:21:15    

LOL il y à du mieux j'ai donc réussi à créer ma miniature, j'ai juste un pb, elle est en noir et blanc ::: OUINNNNN !!! :( enfin je regarde ce qui va pas, et si je trouve pas je vous demande :) faut chercher par soit même avant de demander aux autreS.. Merki encore

Reply

Marsh Posté le 18-05-2005 à 14:26:05    

Bah voila c'était pas bien long à trouver, j'avai mis imagecreate au lieu de imagecreatetruecolor, par contre maintenant je vais croiser les doigt pour que dans les serveurs que l'on utilise au moins un soit en GD 2.01 et plus :D merki de votre aide, même si j'ai fait plus un monologue qu'autre chose, :D /.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed