Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    visualizza immagine da mysql

    lo so che è un argomento trattato e ritrattato, ma io non riesco a venirne a capo...

    ho inserito in un db le immagini in campi blob
    e fin qui tutto funziona perfettamente.

    Il problema sorge in fase di visualizzazione.
    Stò lavorando in locale su server apache macos e le librerie gd sembrano essere tutte abilitate.
    ecco lo script:

    images.php
    Codice PHP:
        $query "SELECT idimmagine, imagesize, imagename, immagine
                  FROM immagini"
    ;
        
    $result mysql_query($query)
        or die(
    "Invalid query: " mysql_error());
        while(
    $row=mysql_fetch_array($result)) {
            echo 
    $row["imagename"];
            echo 
    $row["imagesize"];
    //se visualizzo da link
            
    echo " <a href=\"index.php?page=view&action=view&idimmagine=" $row["idimmagine"] . "\" target=\"_blank\">visualizza</a>  ";
    //se visualizzo direttamente in images.php
            
    echo "<img src=\"index.php?page=view&action=view&idimmagine=" $row["idimmagine"] . "\">"
    view.php
    Codice PHP:
    if(isset($_GET["action"]) && isset($_GET['idimmagine']) && is_numeric($_GET['idimmagine'])){

        
    // VISUALIZZAZIONE
        
    $query "SELECT *
                  FROM immagini
                  WHERE idimmagine = '"
    $_GET["idimmagine"] . "'";
        
    $result mysql_query($query)
        or die(
    "Invalid query: " mysql_error());
        while(
    $row=mysql_fetch_array($result)) {
            
    $type $row["imagetype"];
            
    $immagine $row["immagine"];
            
    header("Content-type: $type");
               echo 
    $imagename."
    "
    .$immagine;
        }


    In cosa sbaglio?

    :bho:

  2. #2

    Re: visualizza immagine da mysql

    Originariamente inviato da Defly

    In cosa sbaglio?
    header("Content-type: $type");
    echo $imagename."
    ".$immagine;

    lui si aspetta che gli arrivino dei bit che fanno parte di una jpg (o altro) e gli arrivano per prima cosa dei bit che fanno parte di una stringa....

    insomma:

    header("Content-type: $type");
    echo $immagine;

    stop... non puoi stampare null'altro che l'immagine.. perchè è un flusso di bit quello che mandi fuori, ed il browser sa che quei bit sono nn'immagine solo perchè c'èil relativo header.... se gli stampi altra roba prima lui li interpreta sempre come bit di un'immagine.. ma essendo bit "a caso" sclera


  3. #3

    Re: Re: visualizza immagine da mysql

    Originariamente inviato da }gu|do[z]{®©
    header("Content-type: $type");
    echo $immagine;
    Ciao e grazie,
    purtroppo però avevo già fatto tutte le prove del caso...tra cui la tua e non avevano funzionato.
    Appena abilito header.... apre una pagina bianca, come se ci fossero errori nello script, ma non è così.
    A te il mio script funziona e su che sistema?
    Pensi che dovrei pubblicarlo e testare online, ma il server è sempre unix per cui se non funziona a me non funzionerà nemmeno online....


  4. #4

  5. #5

    Re: Re: Re: visualizza immagine da mysql

    Originariamente inviato da Defly
    Ciao e grazie,
    purtroppo però avevo già fatto tutte le prove del caso...tra cui la tua e non avevano funzionato.
    Appena abilito header.... apre una pagina bianca, come se ci fossero errori nello script, ma non è così.
    A te il mio script funziona e su che sistema?
    Pensi che dovrei pubblicarlo e testare online, ma il server è sempre unix per cui se non funziona a me non funzionerà nemmeno online....

    non ho provato ma ho già usato sistemi del genere e ti giuro che basta avere come unico output l'immagine

    Controlla che non ci sia altrooutput che sporca tutto.. controlla l'html della pagina generata...

  6. #6
    dai una occhiata qui

    http://forum.html.it/forum/showthrea...light=immagine


    lo script che hai postato insieme al suggerimento di guidoz lo devi mettere in una pagina apposta e poi lo richiami come se fosse una immagien vera e proprioa

  7. #7
    scusate se non ho postato prima...ma non avendo ricevuto risposte ho abbandonato il forum....

    Ho risolto.
    Il problema era nel link
    echo_"<img src=\"index.php?page=view&action=view&idimmagine=" _._$row["idimmagine"]_._"\">";

    doveva essere solo
    echo_"<img src=\"view.php?action=view&idimmagine="_._$row["idimmagine"]_._"\">";

    Un'altra cosa.
    E' possibile creare la miniatura di un'immagine ed inserirla nel db e se si come?
    Ho letto un paio di cose, ma non facevano al caso mio erano per generarle al volo o crearle sul fs.

  8. #8
    c'e una classe tra le pillole che lo fa

  9. #9
    Originariamente inviato da stefano3804
    c'e una classe tra le pillole che lo fa
    si l'ho vista ma non funziona sui mac e poi era anche quella per filesystem...


  10. #10
    direttamente dalla mmia libreria di funzioni....

    Codice PHP:
    function resize_jpg_binary ($img$max_width 50$max_height 50)
    {
       
    $src =  imagecreatefromjpeg($img);
       
    $img_width  imagesx($src);
       
    $img_height imagesy($src);

       if (
    $img_width $max_width
        {
         
    $thumb_width $max_width;
         
    $thumb_height= ($img_height/$img_width)*$thumb_width;
        }
        else
        {
         
    $thumb_height $max_height;
         
    $thumb_width = ($img_width/$img_height)*$thumb_height;
        }

        
    $thumb imagecreatetruecolor($thumb_width$thumb_height);
        
    imagecopyresized($thumb$src0000$thumb_width$thumb_height$img_width$img_height);

        
    ob_start();
        
    ImageJPEG($thumb);
        
    $resized ob_get_contents();
        
    ob_end_clean();
        
        return 
    $resized;

    quello che ritorna la funzzione (chiamata con le dimensioni che preferisci) lo schiaffi nel db...

    può essere raffinata un po' sui controlli dei valori di ritorno delle funzioni chiamate al suo interno eh.. l'ho usata solo per fare esperimenti con le gd e non per applicaizoni reali

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.