Vous n'êtes pas identifié(e).

#1 07-09-2010 à 14:50

jacque99
Invité

Re : redimensionné plusieurs images proportionnellement

Bonjour tout le monde,
Au fait, j’ai mon script qui permet de redimensionné une image proportionnellement qui marche bien et qui m'enregistre l'image avec un nom saisie sur une zone de texte sur un

répertoire.

Ce que je voulais modifier, c'est la possibilité de redimensionner la même image  3  fois (avec le nom saisi dans les textbox, et l'enregistré sur le serveur.
Merci pour toute indication qui peut m'aider à compléter mon script


<!------------------------------ page index.php------------------------------------>


<html>
<head></head>
<body>
    <!--On affiche le formulaire d'envoi d'une image-->
    <center>
    <br /><hr />

    <form method="post" enctype="multipart/form-data" action="upload.php">
    <p>
   
   
   
       Le nom de l'image redimensionner avec 171 ,107
       <input type="text" name="video"><br><br>
      
      
      
       Le nom de l'image redimensionner avec 200 ,200
       <input type="text" name="video2"><br><br>
      
      
       Le nom de l'image redimensionner avec 500 ,500
       <input type="text" name="video3"><br><br>
      
    <input type="file" name="fichier" size="30">
    <input type="submit" name="upload" value="Uploader">
    </p>
    </form>
    </center>
   
  </body>
  </html>

<!------------------------------ fin page index.php------------------------------------>

<!------------------------------ page upload.php------------------------------------>

<?php


$nomImage=$_POST['video'];

if( isset($_POST['upload']) ) // si formulaire soumis
{
    $content_dir = 'upload/'; // dossier où sera déplacé le fichier

    $tmp_file = $_FILES

['fichier']['tmp_name'];

    if( !is_uploaded_file($tmp_file) )
    {
        exit("Le fichier est introuvable");
    }

    // on vérifie maintenant l'extension
    $type_file =

$_FILES['fichier']['type'];

    if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'png') && !strstr($type_file, 'bmp') && !strstr($type_file,

'gif') )
    {
        exit("Le fichier n'est pas une image");
    }

    // on copie le fichier dans le dossier de destination
   
    $ext = substr($_FILES['fichier']['name'],

strrpos($_FILES['fichier']['name'], '.'));

    $name_file = $nomImage.$ext;
    echo $name_file;


    //fonction pour changer les dimentions des fichiers
  function

redimensionner($file, $maxwidth, $maxheight) {
/*
    $maxwidth = 171;
    $maxheight = 171;
  */
list($rawwidth, $rawheight, $type) = @getimagesize($file);

  if ($maxwidth <

$rawwidth && $rawwidth >= $rawheight) {

    $width = $maxwidth;

    $height = ($width / $rawwidth) * $rawheight;

  }

  elseif ($maxheight < $rawheight && $rawheight >= $rawwidth) {

 

  $height = $maxheight;

    $width = ($height /$rawheight) * $rawwidth;

  }

  else {

    $height = $rawheight;

    $width = $rawwidth;

  }

  $imgbuffer = imagecreatetruecolor($width,

$height);

  switch($type) {

    case 1: $image = imagecreatefromgif($file); break;

    case 2: $image = imagecreatefromjpeg($file); break;

    case 3: $image = imagecreatefrompng

($file); break;

    case 4: $image = imagecreatefrombmp($file); break;

    default: exit("Tried to create thumbnail from $file: not a valid image");

  }

  if (!$image) exit("Image

creation from $file failed for an unknown reason. Probably not a valid image.");

  else {

    imagecopyresampled($imgbuffer, $image, 0, 0, 0, 0, $width, $height, $rawwidth,

$rawheight);

    imageinterlace($imgbuffer);

    switch($type) {

   
   
   
      case 1: $image = imagegif($imgbuffer, $file, 80); break;

      case 2: $image = imagejpeg

($imgbuffer, $file, 80); break;

      case 3: $image = imagepng($imgbuffer, $file, 7); break;

 

    }

  }

}


if( preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#', $name_file) )

{

  exit("Nom de

fichier non valide");

}

  else if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )

{

  exit("Impossible de copier le fichier dans $content_dir");

}

redimensionner

($content_dir.$name_file, 171, 107);

}
?>



<!------------------------------ fin page upload------------------------------------>

Réponse rapide

Veuillez composer votre message et l'envoyer

Pied de page des forums