Se connecter / S'enregistrer
Votre question

Redimendiimentionner a l'uplaod

Tags :
  • Script
  • Programmation
Dernière réponse : dans Programmation
22 Décembre 2008 14:31:22

Bonjour à tous.
VOila j'ai fini mon script me permettant d'uploader mes images.
Mais maintenant je voudrait quel soit redimensionner automatiquement lorsquelle s'upload avec une hauteur de 70 et la je bloque je ne voit pas comment faire pourriez vous m'aider sil vous plait

  1. if(isset($erreur)){
  2. echo '<p>', $erreur ,'</p>';
  3. }
  4. ?>
  5. <form method="POST" action="supr_photo.php" enctype="multipart/form-data">
  6.  
  7. <?php
  8.  
  9. if(isset($_FILES['photo']))
  10. {
  11. unset($erreur);
  12. $extensions_ok = array('jpg');
  13. $taille_max = 100000;
  14. $dest_dossier = 'diaporama/miniatures/';
  15.  
  16. // vérifications
  17. if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok) )
  18. {
  19. $erreur = 'Veuillez sélectionner un fichier de type jpg !';
  20. }
  21. elseif( file_exists($_FILES['photo']['tmp_name'])
  22. and filesize($_FILES['photo']['tmp_name']) > $taille_max)
  23. {
  24. $erreur = 'Votre fichier doit faire moins de 500Ko !';
  25. }
  26. // copie du fichier
  27. if(!isset($erreur))
  28. {
  29. $dest_fichier = basename($_FILES['photo']['name']);
  30. // formatage nom fichier
  31. // enlever les accents
  32. $dest_fichier = strtr($dest_fichier,
  33. 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
  34. 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
  35. // remplacer les caracteres autres que lettres, chiffres et point par _
  36. $dest_fichier = preg_replace('/([^.a-z0-1]+)/i', '_', $dest_fichier);
  37. // copie du fichier
  38. move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier.$dest_fichier);
  39. echo($_FILES['photo']['tmp_name']);
  40.  
  41. ?>
  42.  
  43. <?php
  44. }
  45. else{
  46. echo($erreur);
  47. }
  48. }

Autres pages sur : redimendiimentionner uplaod

22 Décembre 2008 18:43:44

J'ai fais cette fonction il y a petit moment. D'après mes souvenirs, elle fonctionnait et devrait toujours fonctionner. Tu passes en paramètre l'image source et l'endroit où tu veux l'enregistrer.

function copy_small($source, $destination)
{
$img = imagecreatefromjpeg($source) or die('erreur 1') ;
$size = getimagesize($source) or die('erreur 2') ;
$width_img = $size[0] ;
$height_img = $size[1] ;

$width = 150 ;
$height = 100 ;

$width_used = 0 ;
$height_used = 0 ;

if($width < $width_img)
{
$width_used = $width ;
}
else
{
$width_used = $width_img ;
}

if($height < $height_img)
{
$height_used = $height ;
}
else
{
$height_used = $height_img ;
}

$small_img = imagecreatetruecolor($width_used, $height_used) or die('erreur 3') ;

imagecopyresampled($small_img, $img, 0, 0, 0, 0, $width_used, $height_used, $width_img, $height_img) or die('erreur 4') ;
imagejpeg($small_img, $destination) or die('erreur 5') ;

return true ;
}

Je l'utilise de cette façons :

//Enregistrement de la miniature
if(!copy_small($dossier.$fichier, $dossier .'small/'. 'small_'.$fichier))
{
$erreur_2.= 'Echec de l\'enregistrement de la miniature' ;
}
23 Décembre 2008 01:24:03

Merci d'utiliser le bbcode [*code][/code] (sans *) lorsque tu colles du code hiola.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS