Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Upload con resize

  1. #1

    Upload con resize

    Salve a tutti
    Scusate il post forse gia trattato ma avrei bisogno di inserire un valore nella mia pagina di Upload e il codice php nn lo conosco tanto bene!

    Attualmente carico le immagini sul server facendo un resize ad un valore impostato (a scelta)

    Noto che comunque, facendo il resize delle immagini a 550x413 risulti ancora abbastanza pesante...

    Adesso pensavo di poter abbassare la qualità della stessa tipo all'80% ma nn so come inserire questo passaggio nello script e cercavo aiuto da voi!

    Posto il codice e ringrazio anticipatamente!

    codice:
    <?php ini_set("memory_limit", "200000000"); // for large images so that we do not get "Allowed memory exhausted"?>
    <?php
    // upload the file
    if ((isset($_POST["submitted_form"])) && ($_POST["submitted_form"] == "image_upload_form")) {
    	
    	// file needs to be jpg,gif,bmp,x-png and 4 MB max
    	if (($_FILES["image_upload_box"]["type"] == "image/jpeg" || $_FILES["image_upload_box"]["type"] == "image/pjpeg" || $_FILES["image_upload_box"]["type"] == "image/gif" || $_FILES["image_upload_box"]["type"] == "image/x-png") && ($_FILES["image_upload_box"]["size"] < 4000000))
    	{
    		
      
    		// some settings
    		$max_upload_width = 550;
    		$max_upload_height = 413;
    
    //		$max_upload_width = 2592;
    //		$max_upload_height = 1944;
    		$path=$_POST['path'];
    //print $path;
    
    		  
    		// if user chosed properly then scale down the image according to user preferances
    		if(isset($_REQUEST['max_width_box']) and $_REQUEST['max_width_box']!='' and $_REQUEST['max_width_box']<=$max_upload_width){
    			$max_upload_width = $_REQUEST['max_width_box'];
    		}    
    		if(isset($_REQUEST['max_height_box']) and $_REQUEST['max_height_box']!='' and $_REQUEST['max_height_box']<=$max_upload_height){
    			$max_upload_height = $_REQUEST['max_height_box'];
    		}	
    
    		
    		// if uploaded image was JPG/JPEG
    		if($_FILES["image_upload_box"]["type"] == "image/jpeg" || $_FILES["image_upload_box"]["type"] == "image/pjpeg"){	
    			$image_source = imagecreatefromjpeg($_FILES["image_upload_box"]["tmp_name"]);
    		}		
    		// if uploaded image was GIF
    		if($_FILES["image_upload_box"]["type"] == "image/gif"){	
    			$image_source = imagecreatefromgif($_FILES["image_upload_box"]["tmp_name"]);
    		}	
    		// BMP doesn't seem to be supported so remove it form above image type test (reject bmps)	
    		// if uploaded image was BMP
    		if($_FILES["image_upload_box"]["type"] == "image/bmp"){	
    			$image_source = imagecreatefromwbmp($_FILES["image_upload_box"]["tmp_name"]);
    		}			
    		// if uploaded image was PNG
    		if($_FILES["image_upload_box"]["type"] == "image/x-png"){
    			$image_source = imagecreatefrompng($_FILES["image_upload_box"]["tmp_name"]);
    		}
    		
    		// Cartella dove caricare i files
    		$remote_file = "images/stories/$path/".$_FILES["image_upload_box"]["name"];
    		imagejpeg($image_source,$remote_file,100);
    		chmod($remote_file,0644);
    	//print $remote_file;
    	
    
    		// get width and height of original image
    		list($image_width, $image_height) = getimagesize($remote_file);
    	
    		if($image_width>$max_upload_width || $image_height >$max_upload_height){
    			$proportions = $image_width/$image_height;
    			
    			if($image_width>$image_height){
    				$new_width = $max_upload_width;
    				$new_height = round($max_upload_width/$proportions);
    			}		
    			else{
    				$new_height = $max_upload_height;
    				$new_width = round($max_upload_height*$proportions);
    			}		
    			
    			
    			$new_image = imagecreatetruecolor($new_width , $new_height);
    			$image_source = imagecreatefromjpeg($remote_file);
    			
    			imagecopyresampled($new_image, $image_source, 0, 0, 0, 0, $new_width, $new_height, $image_width, $image_height);
    			imagejpeg($new_image,$remote_file,100);
    			
    			imagedestroy($new_image);
    		}
    		
    		imagedestroy($image_source);
    		
    		
    		header("Location: submit2.php?upload_message=image uploaded&upload_message_type=success&show_image=".$_FILES["image_upload_box"]["name"]);
    		exit;
    	}
    	else{
    		header("Location: submit2.php?upload_message=make sure the file is jpg, gif or png and that is smaller than 4MB&upload_message_type=error");
    		exit;
    	}
    }
    ?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Carica immagini</title>
    <style type="text/css">
    <!--
    body,td,th {
    	font-family: Arial, Helvetica, sans-serif;
    	color: #333333;
    	font-size: 12px;
    }
    
    .upload_message_success {
    	padding:4px;
    	background-color:#009900;
    	border:1px solid #006600;
    	color:#FFFFFF;
    	margin-top:10px;
    	margin-bottom:10px;
    }
    
    .upload_message_error {
    	padding:4px;
    	background-color:#CE0000;
    	border:1px solid #990000;
    	color:#FFFFFF;
    	margin-top:10px;
    	margin-bottom:10px;
    }
    
    -->
    </style>
    </head>
    
    <body>
    
    <h1 style="margin-bottom: 0px">Carica foto big</h1>
    
    
            <?php if(isset($_REQUEST['upload_message'])){?>
                <div class="upload_message_<?php echo $_REQUEST['upload_message_type'];?>">
                <?php echo htmlentities($_REQUEST['upload_message']);?>
                </div>
    		<?php }?>
    
    
    <form action="submit2.php" method="post" enctype="multipart/form-data" name="image_upload_form" id="image_upload_form" style="margin-bottom:0px;">
    <label>Image file, maximum 4MB. it can be jpg, gif,  png:</label>
    
              <input name="image_upload_box" type="file" id="image_upload_box" size="40" />
              <input type="submit" name="submit" value="Upload image" />     
         
         
    
    	
    
    
         
          <label>Scale down image? (550 x 413 px max):</label>
          
    
          <input name="max_width_box" type="text" id="max_width_box" value="550" size="4">
          x      
          
          <input name="max_height_box" type="text" id="max_height_box" value="413" size="4">
          px.
          
    
          <select name="path">
    		<option value="nido" selected>Un giorno al nido</option>
    		<option value="gallery_school">gallery school</option>
    		<option value="gitaalbatros">Gita Albatros</option>
    		<option value="ascuola">A scuola</option>
    		<option value="hallowin">Hallowin</option>
    
    </select>
    
          
    
          <p style="padding:5px; border:1px solid #EBEBEB; background-color:#FAFAFA;">
          Notes:
    
      The image will not be resized to this exact size; it will be scalled down so that neider width or height is larger than specified.
    
      When uploading this script make sure you have a directory called &quot;image_files&quot; next to it and make that directory writable, permissions 777.
    
      After you uploaded images and made tests on our server please delete all uploaded images  :)
    
      </p>
    
    <input name="submitted_form" type="hidden" id="submitted_form" value="image_upload_form" />
              </form>
    
    
    
    
    <?php if(isset($_REQUEST['show_image']) and $_REQUEST['show_image']!=''){?>
    
    
    
    Quale immagine ho caricato
    </p>
    <?php }?>
    
    </body>
    </html>
    Ps: Alla voce "che immagine ho caricato, sarebbe possibile recuperare l'immagine appena caricata..
    Ho provato cosi ma senza risultato

    codice:
    <?php if(isset($_REQUEST['show_image']) and $_REQUEST['show_image']!=''){?>
    
    
    
      
      
      
    
    </p>
    <?php }?>
    Attendo Vs info
    Scusate sto imparando!

  2. #2
    dovrebbe essere suffiente modificare questa riga:

    Codice PHP:
    imagejpeg($image_source,$remote_file,100); 
    100 è il valore massimo: se metti lì un bell'80, dovresti ottenere quello che volevi.

  3. #3

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.