Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    redim img scaricate da mysql

    Ciao a tutti,
    ho il seguente problema:
    - nel sito che sto realizzando l'utente può caricare delle immagini, tali immagini vengono salvate su una tabella mysql...(e fin qua è facile)

    Avrei però questo problema...come faccio a ridimensionarle "al volo"? Vorrei infatti, senza passare dal file system (se non magari come appoggio), ridimensionare le img.

    Avete qualche idea? Ci sto sbattendo la testa da un pò ma non ho trovato soluzione..

    Tnx.

  2. #2
    L'alternativa più comune è usare imagecopyresized():

    http://www.php.net/manual/it/functio...opyresized.php

  3. #3

    ...xò...

    Ho provato a fare come suggertio inserendo questo codice:

    Codice PHP:
    $sql="select data_modifica,foto,tipo_file from foto where nome_immagine='$_GET[nome]'";
    $rs=mysql_query($sql);
    $arr=mysql_fetch_array($rs);

    imagecopyresized($buffer$arr[foto],0,0,0,0,40,40,100,100);
    echo 
    $buffer
    ma ricevo questo errore:
    Warning: imagecopyresized(): supplied argument is not a valid Image resource


    se non mi sbaglio però questo metodo funziona solo se salvi l'immagine sul filesystem, giusto? Come faccio a salvare il temporaneo dell'immagine sul filesystem?

    Tnx

  4. #4
    Se non hai usato un metodo arcano di cui non sono a conoscenza, dal filesystem ci passi comunque.

    Quando fai l'upload dell'immagine ti trovi in $_FILES['...']['tmp_name'] già il nome del file temporaneo sul filesystem. Il ridimensionamento lo puoi fare lì.

    http://www.php.net/manual/it/features.file-upload.php

  5. #5

    FUNZIONA

    Funziona...

    grazie mille per la dritta

    posto il codice PHP

    Codice PHP:
    if($foto[tmp_name]){
        
    //creazione miniatura
        
    ridimensionaimg($foto["tmp_name"],10,10001000);
        
        
    $buffer addslashes(fread(fopen($foto["tmp_name"], "rb"), $foto["size"]));
        
    $sql="insert into foto(foto,nome_immagine) values('$buffer','$nome_immagine')";
        
    mysql_query($sql)or die(mysql_error().$sql); 
    e...

    Codice PHP:
    function ridimensionaimg($nomefile,$percent,$maxwidth$maxheight){ 

    list(
    $width$height) = getimagesize($nomefile);
    if (
    $percent 0
        {
        
    $newwidth $width $percent/100;
        
    $newheight $height $percent/100;
        }
    else
        {
        
    $newwidth $width;
        
    $newheight $height;
        }

    if (
    $maxwidth 
        {
        if (
    $newwidth $maxwidth
            {
            
    $newwidth $maxwidth;
            
    $newheight = ($newwidth $height) / $width;
            }
        }

    if (
    $maxheight 
        {
        if (
    $newheight $maxheight
            {
            
    $newheight $maxheight;
            
    $newwidth = ($newheight $width) / $height;
            }
        }        
    $source imagecreatefromjpeg($nomefile);
    $buffer imagecreatetruecolor($newwidth$newheight);
    imagecopyresized($buffer,$source,0,0,0,0,$newwidth,$newheight,$width,$height);
    imagejpeg($buffer,$nomefile);



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.