0

I'm using this script to let users upload images in my site. However i want to save the image with the user id with no extension png, gif or jpeg instead of the original name of the image.

$id_user = $_SESSION['user_id'];

  if(isset($_FILES['file']))
  {
      $max_size = 500; //max image size in Pixels
      $destination_folder = '../images/users/';

      $image_name = $_FILES['file']['name']; //file name
      $image_size = $_FILES['file']['size']; //file size
      $image_temp = $_FILES['file']['tmp_name']; //file temp
      $image_type = $_FILES['file']['type']; //file type


      switch(strtolower($image_type)) //determine uploaded image type 
          {
              //Create new image from file
              case 'image/png': 
                  $image_resource =  imagecreatefrompng($image_temp);
                  break;
              case 'image/gif':
                  $image_resource =  imagecreatefromgif($image_temp);
                  break;          
              case 'image/jpeg': case 'image/pjpeg':
                  $image_resource = imagecreatefromjpeg($image_temp);
                  break;
              default:
                  $image_resource = false;
          }

      if($image_resource){
          //Copy and resize part of an image with resampling
          list($img_width, $img_height) = getimagesize($image_temp);

          //Construct a proportional size of new image
          $image_scale        = min($max_size / $img_width, $max_size / $img_height); 
          $new_image_width    = ceil($image_scale * $img_width);
          $new_image_height   = ceil($image_scale * $img_height);
          $new_canvas         = imagecreatetruecolor($new_image_width , $new_image_height);

          //resize image with new height and width
          if(imagecopyresampled($new_canvas, $image_resource ,0, 0, 0, 0, $new_image_width, $new_image_height, $img_width, $img_height))
          {

              if(!is_dir($destination_folder)){ //create dir if it doesn't exist
                  echo (mkdir($destination_folder))?'New folder Created':'Could create new folder';
              }

              //Save as jpeg image file
              switch(strtolower($image_type))
                  {
                      case 'image/png':
                          imagepng($new_canvas, $destination_folder.'/'.$image_name);
                          break;
                      case 'image/gif':
                          imagegif($new_canvas, $destination_folder.'/'.$image_name);
                          break;          
                      case 'image/jpeg': case 'image/pjpeg':
                          imagejpeg($new_canvas, $destination_folder.'/'.$image_name, 80);
                          break;
                  }
          }
      }
  }
?>

How can i do this using imagepng(), imagegif() or imagejpeg() functions?

aguisa
  • 343
  • 1
  • 5
  • 18
  • 3
    http://php.net/manual/en/function.move-uploaded-file.php – E_p Apr 27 '17 at 23:23
  • 1
    Possible duplicate of [How to rename uploaded file before saving it into a directory?](http://stackoverflow.com/questions/18705639/how-to-rename-uploaded-file-before-saving-it-into-a-directory) – Pedro Lobito Apr 27 '17 at 23:36

0 Answers0