Tom's Guide > Forum > Programmation > [PHP]Redimmensionner des photos

[PHP]Redimmensionner des photos

Forum Programmation : [PHP]Redimmensionner des photos

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour tout le monde
Récemment j'avais déjà laisser un message pour faire le script d'affichage d'une galerie photo.
Maintenant je passe à l'upload de la photo !!!

Maintenant passons aux choses sérieuse, On va attaqué les choses qui fachent.
Je vous explique tout le script :
1 - En premier je vérifie si il y a un nom d'album
2 - Puis je créer 3 dossier (un qui porte le nom de l'album, un autre qui est dedans avec les miniature et l'autre avec les originales)
3 - Je vérifie si ils sont TOUS créer
4 - Je vérifie si un champs sur les 5 d'upload est rempli
5 - Je vérifie la taille du fichier ou si il ne comporte pas d'erreur
6 - Puis on regarde si l'extension correspond à celle qui sont autorisées
7 - On donne le nom du fichier(microtime())
8 - On prends les dimensions du fichier
9 - On redimensionne l'image puis on la copie dans le dossier mini
10 - on la re-redimensionne puis on la copie dans le dossier
11 - Et enfin on déplace le fichier original dans le dossier avec les originaux.

Bien sur dès qu'il y un problème, on affiche un erreur.

Voici mon script pour un fichier :

Code :
  1. <?php
  2. function getextension($fichier) {
  3.     $bouts = explode(".", $fichier);
  4.     $extension = array_pop($bouts);
  5.     return $extension;
  6.         }
  7. if(isset($_POST['nom']))
  8. {
  9. echo'1';
  10. $dossier=$_POST['nom'];
  11. $dossier_moy =mkdir('../'.$dossier, 0777);
  12. $dossier_min =mkdir('../'.$dossier.'/mini', 0777);
  13. $dossier_gde =mkdir('../'.$dossier.'/gde', 0777);
  14. if(($dossier_moy==true) AND ($dossier_min==true) AND ($dossier_gde==true))
  15.         {
  16.         echo'2';
  17.                 if(!empty($_POST['fichier1']))//on vérifie si le fichier existe
  18.                         {
  19.                         echo'3';
  20.                                 if($_FILES['fichier1']['size'] > $taillemax OR $_FILES['fichier1']['error'] > 0)//on vérifie si il n'est pas trop gros ou si il ne comporte pas d'erreur
  21.                                 {
  22.                                 echo'Une erreur s\'est produite lors du téléchargement ou votre fichier peut être trop volumineux !!';//on annonce une erreur si c'est le cas.
  23.                                 }
  24.                                 else//sinon on continu.
  25.                                 {
  26.                                 echo'4';
  27.                                 $extension = getextension($_POST['fichier1']);
  28.                                 echo $extension;
  29.                                         if($extension =='png' OR $extension=='gif' OR $extension=='jpg' OR $extension=='jpeg' OR $extension =='PNG' OR $extension=='GIF' OR $extension=='JPG' OR $extension=='JPEG')// si c'est la bonne extension on continu
  30.                                         {
  31.                                         $image1 = $_FILES['fichier1']; // le chemin
  32.                                         $nom_fichier = microtime();
  33.                                         echo'5';
  34.                                         $dimension=getimagesize($image1); // prend la taille de l'image
  35.                                                 if($dimension[0]>150)
  36.                                                 {
  37.                                                 echo'6';
  38.                                                 $max=150; //taille a redimensionensionner
  39.                                                 $reduc=$max/$dimension[0];
  40.                                                 $coef_l=$max;
  41.                                                 $coef_h=$dimension[1]*$reduc;
  42.                                                 $chemin = imagecreatefromjpeg($image1);
  43.                                                 $nouvelle =imagecreatetruecolor ($coef_l, $coef_h);
  44.                                                 imagecopyresampled($nouvelle,$chemin,0,0,0,0,$coef_l,$coef_h,$dimension[0],$dimension[1]);
  45.                                                 imagejpeg($nouvelle,$image1);
  46.                                                 imagedestroy ($chemin);
  47.                                                 $copie_mini = move_uploaded_file($_FILES['fichier1'], '../'.$dossier.'mini/'.$nom_fichier );
  48.                                                 }
  49.                                              
  50.                                                 if($dimension[0]>=700)
  51.                                                 {
  52.                                                 $max=700; //taille a redimensionensionner
  53.                                                 $reduc=$max/$dimension[0];
  54.                                                 $coef_l=$max;
  55.                                                 $coef_h=$dimension[1]*$reduc;
  56.                                                 $chemin = imagecreatefromjpeg($image1);
  57.                                                 $nouvelle =imagecreatetruecolor ($coef_l, $coef_h);
  58.                                                 imagecopyresampled($nouvelle,$chemin,0,0,0,0,$coef_l,$coef_h,$dimension[0],$dimension[1]);
  59.                                                 imagejpeg($nouvelle,$image1);
  60.                                                 imagedestroy ($chemin);
  61.                                                 $copie_moy = move_uploaded_file($image1, '../'.$dossier.'/'.$nom_fichier);
  62.                                                 }
  63.                                                                                      
  64.                                         $copie_gde = move_uploaded_file($_FILES['fichier1'], '../'.$dossier.'gde/'.$nom_fichier);
  65.                                         }
  66.                                         else//on dis que l'extension est mauvaise
  67.                                         {
  68.                                         echo 'L\'extension de votre fichier n\'est pas valide.';
  69.                                         }
  70.                                 }
  71.                         }
  72.         else
  73.         {
  74.         echo'le dossier contenant les photos n\'a pu être créer';
  75.         }
  76. }
  77. else
  78. {
  79. ?>
  80. <h1>Veuillez entrer un nom pour votre album</h1>
  81. <?php
  82. }
  83. ?>



J'ai bien suivi quelque tuto mais Sa marche pas !!
Ils m'ont déjà bien fait avancer je l'ai remerci beaucoup !!

Merci d'avance

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.
Tom's Guide > Forum > Programmation > [PHP]Redimmensionner des photos
Aller à :

Il y a 288 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens