PHP

Moderators: None (Apply to moderate this forum)
Number of threads: 1848
Number of posts: 5016

This Forum Only
Post New Thread
Single Post View       Linear View       Threaded View      f

Report
take an image portion Posted by jacque99 on 27 Oct 2010 at 8:52 AM
I made a calculation of the proportion between width and height from the maximum dimensions and the same thing from
actual dimensions of the picture: I then compared the two resizing in the appropriate direction depending on whether the result is
positive or negative.
Finally, my code works:)
For cons, I still have that to make a thumbnail of my image, the principle and calculated the center of the height and width of the image and make a thumbnail from the center as shown in the image

www.mestestes.eu / proportion.jpg
I await your comments
Here is my code that works well
<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 95 ,95
	   <input type="text" name="video"><br><br>
	   
	  
	   
	<input type="file" name="fichier" size="30">
	<input type="submit" name="upload" value="Uploader">
	</p>
	</form>
	</center>
	
  </body>
  </html>

[/php]


[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) {

list($rawwidth, $rawheight, $type) = @getimagesize($file);

				if 

($maxwidth < $rawwidth && $rawwidth >= $rawheight) {   
				$width =  $maxwidth;   
				

$height = ($width / $rawwidth) * $rawheight;  }   
				
				if ($maxheight < 

$rawheight && $rawheight >= $rawwidth) {   
				$height = $maxheight;   
				

$width = ($height /  $rawheight) * $rawwidth;  }  
 	
 
				if($height > $maxheight) {  
			

	$width = ($maxheight / $height) * $width;  
				$height = $maxheight; } 
				
				
				
				
  $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);

}
?>




 

Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic
© Copyright 2011 Programmersheaven.com - All rights reserved.
Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
Operated by CommunityHeaven, a BootstrapLabs company.