Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107

    [PHP] Dimensione immagine su db

    Salve a tutti!

    Ho inserito un'immagine in un db, come faccio per ricavarne la dimensione (altezza-larghezza)?

    Ho provato con il getimagesize() ma non mi funziona col codice dell'img su db
    Guybrush Threepwood

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    La soluzione migliore sarebbe quella di memozzare questi dati durante l'inserimento dell'immagine, o nel caso questo non fosse possibile puoi salvare la stessa come file temporaneo, e successivamente usare la funzione getimagesize().
    think simple think ringo

  3. #3
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    si quella del file temporaneo l'avevo già provata... ma è lenta se le immagini sono tante.
    provo ad acquisire subito i dati quando le inserisco
    Guybrush Threepwood

  4. #4
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    ... si pone il problema però di come acquisire i dati di altezza/larghezza anche nell'acquisizione senza far passare l'immagine da una cartella fisica sul server ...
    Guybrush Threepwood

  5. #5
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    oook! tutto a posto

    $tmpName = $_FILES['userfile']['tmp_name'];

    list($width, $height, $type, $attr) = getimagesize($tmpName);
    Guybrush Threepwood

  6. #6
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Ci siamo quasi... ho ancora un problemino.
    L'immagine visualizzata è un rettangolo nero (ma delle dimensioni giuste)

    Mi sa che non copia dentro il codice dell'immagine

    codice:
    $maxx = $_GET["maxx"];
    $maxy = $_GET["maxy"];
    			
    $source_image = $row['fdata']; 
    $width=$row['fwidth'];
    $height=$row['fheight'];
    
    $percent1 = $width / $maxx;
    $percent2 = $height / $maxy;
    $percent = max($percent1,$percent2);
    $new_eight = round($height /$percent);
    $new_width = round($width /$percent);
    $dest_image = imagecreatetruecolor($new_width, $new_eight);
    imagecopyresampled ($dest_image, $source_image, 0, 0, 0, 0, $new_width, $new_eight, $width, $height);
    header("Content-type: image/jpeg");
    imagejpeg($dest_image);
    imagedestroy($dest_image);
    facendo echo $dest_image; ritorna Resource id #5
    Guybrush Threepwood

  7. #7
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    ok credo di aver capito dove sta il problema... ma non so dove risolvere

    In pratica nel codice originale il jpg è create con imagecreatefromjpeg() mentre nel mio lo prendo direttamente da database.

    Ho provato a crearlo dal imagecreatefromjpg già dall'inizio con

    codice:
    $data1=imagecreatefromjpeg($_FILES["file1"]["tmp_name"]);
    ma così facendo non lo crea proprio
    Guybrush Threepwood

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    A me le operazioni sui file contenuti nella cartella tmp (ossia dove finiscono gli upload) hanno sempre dato "problemi", per esempio uno script per invio di email con allegato in upload non funziona con il file temporaneo, ma ha necessità che il file sia spostato all' "interno" del sito (e poi cancellato)... forse il tuo server soffre (o meglio, fa soffrire te) delle stesse (o simili) limitazioni.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  9. #9
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    devi usare la funzione:
    http://it2.php.net/manual/it/functio...fromstring.php

    per recupare l'immagine dal db.
    think simple think ringo

  10. #10
    Utente di HTML.it L'avatar di Threepwood
    Registrato dal
    Feb 2003
    Messaggi
    2,107
    Ok... ma ho ancora lo stesso problema

    codice:
    $maxx = $_GET["maxx"];
    $maxy = $_GET["maxy"];
    			
    $source_image = ($row['fdata']); 
    $source_image=imagecreatefromstring($source_image);
    $width=$row['fwidth'];
    $height=$row['fheight'];
    
    $percent1 = $width / $maxx;
    $percent2 = $height / $maxy;
    $percent = max($percent1,$percent2);
    $new_eight = round($height /$percent);
    $new_width = round($width /$percent);
    
    $dest_image = imagecreatetruecolor($new_width, $new_eight);
    imagecopyresampled ($dest_image, $source_image, 0, 0, 0, 0, $new_width, $new_eight, $width, $height);
    echo $dest_image;
    se faccio una echo $dest_image mi da Resource id #6.
    se aggiungo all'inizio il base64_decode mi da Resource id #5.

    Non riesco a capire cosa possa essere, perchè le dimensioni se le ricalcola precise.... ma non ricrea l'immagine corretta

    P.S. se faccio una ECHO dell'IMAGECOPYSAMPLED mi ritorna 1
    Guybrush Threepwood

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.