Upload et taille d'images

Résolu/Fermé
sitadom39 Messages postés 8 Date d'inscription samedi 2 mars 2013 Statut Membre Dernière intervention 28 décembre 2013 - 3 avril 2013 à 19:46
sitadom39 Messages postés 8 Date d'inscription samedi 2 mars 2013 Statut Membre Dernière intervention 28 décembre 2013 - 29 avril 2013 à 11:49
Bonjour,
Pour la partie "petites annonces pour fauchés", je mets en place un formulaire pour afficher les informations de l'annonce.
Une ima est uploadée, je voudrai que sa taille soit "diminé" à 200 px de largeur maxi sans passer par
style="width:200px"

Existe-t-il une commande php pour çà ?
merci d'ance
Dominiqueav

5 réponses

hamzafes Messages postés 243 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 4 mai 2013 54
4 avril 2013 à 12:02
Salam,

c'est possible en redimensionnant l'image après l'upload. regardes le code sur la page:
http://www.petitcode.com/php-redimensionner-une-image-53

Hamza
0
sitadom39 Messages postés 8 Date d'inscription samedi 2 mars 2013 Statut Membre Dernière intervention 28 décembre 2013
7 avril 2013 à 17:00
Merci,
dans le tuto il faut déclarer la variable :
$file_src : Le chemin de l'image source (), l'image qui va être redimensionnée .
j'uploade mes images avec ce code
 
if 
     (   move_uploaded_file($_FILES['foto'] ['tmp_name'],"annonce/{$_FILES['foto'] ['name']}")  
                                    )
dans un répertoire d'annonce.
mon form est le suivant
 <div id="facultatif">     
                  <legend style="color:white;font-size:20px;font-family:Champ;padding:10px;background-color:black;width:150px">Pour illustrer votre annonce</legend>
                   <p>vous pouvez ajouter une photo<br />
                   
                   <label for="legende">légende de votre photo :</label> : <input type="legende" name="legende" id="legende"size="30" tabindex="55" /></input>
                   <input type="hidden" name="MAX_FILE_SIZE" value="10485760" />
                   <label for="foto">Format du fichier (JPG, JPEG, PNG ou GIF<span class="bulle"> | max. 100 Ko) :<span>format d'une photo miniature</span></span></label><br />
                   Sélectionnez votre fichier: <input style="color:#8d4c00" size="30" type="file" name="foto">
                  
                    </div>    

Comment dois je définir la variable $file_src ?
merci par avance
0
hamzafes Messages postés 243 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 4 mai 2013 54
11 avril 2013 à 17:12
Salam,

désolé, je n'etais pas dispo c'est derniers jours.
le $file_src c'est ça "annonce/{$_FILES['foto'] ['name']}"
mais il faut biensur remplacer ce qui est entre {} par ça valeur.

le redimensionnement doit se faire juste après l'execution de la fonction move_uploaded_file

Hamza
0
sitadom39 Messages postés 8 Date d'inscription samedi 2 mars 2013 Statut Membre Dernière intervention 28 décembre 2013
24 avril 2013 à 23:04
moi aussi j'ai dû partir en vacances, quelle idée !
j'en suis à avoir réussi à renommer le fichier uploadé et testé les extensions. pour l'upload, çà devient :
  $randString = md5(time()); //encode the timestamp - returns a 32 chars long string  *
                                $fileName = ($_FILES['foto']['name']); //the original file name  
                                $splitName = explode('.', $fileName); //split the file name by the dot  
                                $fileExt = end($splitName); //get the file extension  
                                $newFileName  = strtolower($randString.'.'.$fileExt); //join file name and ext...
                                move_uploaded_file($_FILES['foto'] ['tmp_name'],"annonce/{$newFileName}");  echo "Le fichier vient d\être transféré avec succès";
                                 include ("resizer.php") ;    

et ensuite dans le resizer.php en include (la source que tu m'as indiquée) :mes variables sont indiquées comme çà
$file_src = "annonce/{$_FILES['newFileName']}";
       $file_dest = "annonce/{$_FILES['newFileName']}";
        $new_width = 250 ;
        $new_height = 175 ;
        $proportional = true;

mais pas de changement de tailles (j'ai testé un jpeg de 386 par 500)
où c'est y que çà coince?
merci
0
hamzafes Messages postés 243 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 4 mai 2013 54
25 avril 2013 à 12:06
Salam,

1- C'est plutot :

$file_src= "annonce/{$newFileName}";
$file_dest="annonce/{$newFileName}";


2- Vérifiez les droits du dossier "annonce" qui doivent être 777
3- Affichez $file_src pour être sûr que c'est le bon chemin et nom de fichier.
4- Essayez un $file_dest différent de $file_src et voir ce que ça donne

Hamza
0
sitadom39 Messages postés 8 Date d'inscription samedi 2 mars 2013 Statut Membre Dernière intervention 28 décembre 2013
26 avril 2013 à 18:04
Bonjour,
j'ai créé un dossier resize en 777, le dossier annonce est lui aussi en 777
je sépare les deux $file comme çà :
 
       $file_src= "annonce/{$newFileName}";
       $file_dest="resize/{$newFileName}";
        $new_width = 250 ;
        $new_height = 175 ;
        $proportional = true;
        echo  $file_src;
        echo $file_dest;

çà affiche bien les deux noms mais l'enregistrement ne se fait que pour $file_src dans le dossier "annonce avec la taille d'origine
ma page :
http://www.sitadom39.fr/ajoutannonce.php
est ce que je dois changer de méthode d'upload.
Merci
Dominique
0
sitadom39 Messages postés 8 Date d'inscription samedi 2 mars 2013 Statut Membre Dernière intervention 28 décembre 2013
26 avril 2013 à 18:43
en attendant mieux je colle un width arbitraire
 <td rowspan="8"><img width="150" src="annonce/'.$ligne->img_nom.'" alt="'.$ligne->legende.'" title="'.$ligne->legende.'"/><br /></td>      

pour pouvoir démarrer
merci
0
hamzafes Messages postés 243 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 4 mai 2013 54
27 avril 2013 à 12:56
essayez avec des chemins absolus, il se peut que le script ne trouve pas les dossiers.
0
sitadom39 Messages postés 8 Date d'inscription samedi 2 mars 2013 Statut Membre Dernière intervention 28 décembre 2013
27 avril 2013 à 17:54
Désolé de ne pavoir précisé, mais le upload du
$file_src= "annonce/{$newFileName}";

fonctionne.et le fichier est bien enregistré (dans le dossier et dans la base

C'est l'image
 $file_dest="resize/{$newFileName}";

qui n'est pas enregistrée (777 ok pour le dossier resize)
merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
hamzafes Messages postés 243 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 4 mai 2013 54
28 avril 2013 à 21:04
Téléchargez l'exemple ci-dessous :
http://www.petitcode.com/up/codes/53-php-resize-image-exemple.rar

ça montre comment on appel la fonction.
0
sitadom39 Messages postés 8 Date d'inscription samedi 2 mars 2013 Statut Membre Dernière intervention 28 décembre 2013
29 avril 2013 à 11:49
Super et merci,
Bonne semaine
Dominique
0