Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822

    GD resize immagine e BLOB

    ho trovato questo script che fa l'upload nel db di un'immagine:
    Codice PHP:
    $data addslashes(fread(fopen($_FILES["file_binario"]["tmp_name"], "rb"), $_FILES["file_binario"]["size"]));
    $result = @mysql_query("UPDATE content SET tit = '$titolo' , corpo = '$corpo' ,time=NOW() ,Descrizione='" $_POST["Descrizione"] . "', DatiBinari='$data', Nome='" $_FILES["file_binario"]["name"] . "', Size='" $_FILES["file_binario"]["size"] . "', Type='" $_FILES["file_binario"]["type"] . "' WHERE id = '".$_POST['Id']."'"
    or die(
    "
    Query fallita !"
    ); 
    io vorrei ridimensionare l'immagine prima di inserirla nel db.. come faccio?
    (ho le librerie GD installate e testate sul mio server)

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    think simple think ringo

  3. #3
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    Originariamente inviato da marketto
    http://forum.html.it/forum/showthrea...hreadid=694523



    grazie ... avevo già letto tutto il thread... ma pensavo ci fosse qualcosa di più alla mano...
    per fare un resize prima dell'inserimento nel db ho bisogno di una classe e di una funzione che la richiama?
    mi sembra un po' troppo sinceramente..

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    le operazioni da eseguire sono relativamente poche:
    - eseguire l'upload;
    - eseguire il ridimensionamento e salvare temporaneamente l'immagine ridimensionata;
    - inserire nel db l'immagine ridimensionata;
    - cancellare il file temporaneo.




    oppure:
    - eseguire l'upload;
    - eseguire il ridimensionamento e, tramite le funzioni per il controllo dell'output, memorizzare il contenuto dell'immagine dentro una stringa;
    - inserire nel db l'immagine ridimensionata.



    think simple think ringo

  5. #5
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    Originariamente inviato da marketto
    le operazioni da eseguire sono relativamente poche:
    - eseguire l'upload;
    - eseguire il ridimensionamento e salvare temporaneamente l'immagine ridimensionata;
    - inserire nel db l'immagine ridimensionata;
    - cancellare il file temporaneo.




    oppure:
    - eseguire l'upload;
    - eseguire il ridimensionamento e, tramite le funzioni per il controllo dell'output, memorizzare il contenuto dell'immagine dentro una stringa;
    - inserire nel db l'immagine ridimensionata.



    Grazie marketto... un esempio?

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Originariamente inviato da Base
    Grazie marketto... un esempio?
    per il primo procedimento:
    http://forum.html.it/forum/showthrea...hreadid=820898




    think simple think ringo

  7. #7
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    Originariamente inviato da marketto
    per il primo procedimento:
    http://forum.html.it/forum/showthrea...hreadid=820898




    forse nel mio caso andrebbe bene il secondo procedimento..

  8. #8
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    dopo aver eseguito l'upload e prima dell'inserimento nel db:
    codice:
    if(isset($_FILES['nome_file_upload'])){
    	$tmp_name = $_FILES['nome_file_upload']['tmp_name'];
    	list( $width, $height, $type ) = getimagesize( $tmp_name );
    	$new_width = 640;
    	$new_height = $height / $width * $new_width;
    	if ($type == 1)
    		$src_img = imagecreatefromgif( $tmp_name );
    	if ($type == 2)
    		$src_img = imagecreatefromjpeg( $tmp_name );
    	elseif ($type == 3)
    		$src_img = imagecreatefrompng( $tmp_name );	
    	$im = Imagecreatetruecolor( $new_width, $new_height );
    	imagecopyresampled( $im, $src_img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
    	ob_start();
    	imagejpeg( $im );
    	imagedestroy( $im );
    	$data = ob_get_clean();
    	$data = addslashes( $data );
    }

    p.s.: devi cambiare il valore di $_FILES['nome_file_upload'] col nome del campo upload del tuo form.
    think simple think ringo

  9. #9
    Utente di HTML.it L'avatar di Base
    Registrato dal
    Apr 2001
    Messaggi
    822
    Originariamente inviato da marketto
    dopo aver eseguito l'upload e prima dell'inserimento nel db:
    codice:
    if(isset($_FILES['nome_file_upload'])){
    	$tmp_name = $_FILES['nome_file_upload']['tmp_name'];
    	list( $width, $height, $type ) = getimagesize( $tmp_name );
    	$new_width = 640;
    	$new_height = $height / $width * $new_width;
    	if ($type == 1)
    		$src_img = imagecreatefromgif( $tmp_name );
    	if ($type == 2)
    		$src_img = imagecreatefromjpeg( $tmp_name );
    	elseif ($type == 3)
    		$src_img = imagecreatefrompng( $tmp_name );	
    	$im = Imagecreatetruecolor( $new_width, $new_height );
    	imagecopyresampled( $im, $src_img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
    	ob_start();
    	imagejpeg( $im );
    	imagedestroy( $im );
    	$data = ob_get_clean();
    	$data = addslashes( $data );
    }

    p.s.: devi cambiare il valore di $_FILES['nome_file_upload'] col nome del campo upload del tuo form.
    Grande! funge che è una bellezza!!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.