Visualizzazione risultati 1 fino 17 di 17

Discussione: PHP adattamento immagine

  1. #1
    Guest

    Predefinito PHP adattamento immagine

    Buongiorno, ho un problema con l'adattamento delle immagini tramite php.
    Praticamente ho delle immagini caricate in un database sql e ogniuna di loro ha una variabile, $verso_img, uguale a 1 se l'immagine è orrizontale mentre è a 0 se l'immagine è verticale.
    Ho messo un primo if che controlla il valore di $verso_img e se orrizzontale mi imposta $width a 250, se invece è verticale mi imposta $height a 250.
    Con il secondo if rincotrollo il valore di $verso_img e a seconda del valore mi imposta altezza o larghezza della immagine.
    Il mio problema è che certe immagini (sopratutto le verticali) compaiono "tagliate" ovvero con Firefox manca proprio parte dell'immagine mentre con safari la parte mancante compare ma grigia.
    Posto il codice nella speranza di essere piu comprensibile.
    Grazie.

    Codice PHP:
    if ($verso_img==1){

    $width=250; }
    else {
    $height=250;}

    -----
    altro codice-----

    if (
    $verso_img==1){
    echo
    "
    <img src=\"show.php?id="
    .$id."\" width=".$width.">";}
    else {
    echo
    "
    <img src=\"show.php?id="
    .$id."\" height=".$height.">";}

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Prima di tutto, due if per lo stesso controllo sono troppi e potresti benissimo evitarli.
    Per quanto riguarda il ridimensionamento, tutto il codice dovrebbe trovarsi in show.php e senza il sorgente del file dubito che potremo aiutarti. Sarebbe anche utile una pagina di esempio.

  3. #3
    Guest

    Predefinito

    Sò che certi tag son vecchi ma stò solo cercando di sistemare ciò che il creatore non è riuscito a fare e a quanto pare neanch'io sò fare...
    Posto il codice:

    Pagina visualizzazione:

    Codice PHP:
    <div id="pagina">
    <br/>
    <div id="pagina_tabella_visualizza_altro">
    <?
    $nome_prodotto
    =$_GET['nome_prodotto'];


    @include
    'config.php';
    $sql = "SELECT * FROM immagini WHERE nome_prodotto='$nome_prodotto'";
    $result = @mysql_query($sql) or die (mysql_error ());



    while (
    $row = @mysql_fetch_array($result)){
    $id = $row['id'];
    $descrizione = stripslashes($row['descrizione']);
    $nome = $row['nome'];
    /*$nome_prodotto = $row['nome_prodotto'];*/
    $scheda_tecnica = stripslashes($row['scheda_tecnica']);
    $verso_img = $row['verso_img'];


    }

    if (
    $verso_img==1){

    $width=250; }
    else {
    $height=250;}


    echo
    "
    <table border=0 width=900>
    <tr>
    <td rowspan=2 height=160 width=335>"
    ;

    if (
    $verso_img==1){
    echo
    "
    <img src=\"show.php?id="
    .$id."\" width=".$width.">";}
    else {
    echo
    "
    <img src=\"show.php?id="
    .$id."\" height=".$height.">";}

    echo
    "
    </td>
    <td height=100><FONT SIZE=\"5\" COLOR=\"#5f0307\" face=\"Arial, Helvetica\">"
    .$nome_prodotto."</font></td>
    </tr>
    <tr>
    <td height=170><FONT SIZE=\"2\" COLOR=\"#5f0307\" face=\"Arial, Helvetica\">"
    .$scheda_tecnica."</a></td>
    </tr>
    <tr>
    <td></td>
    <td height=270><FONT SIZE=\"2\" COLOR=\"#5f0307\" face=\"Arial, Helvetica\">"
    .$descrizione."</a></td>
    </tr>
    </table>
    "
    ;

    ?>


    </div>
    pagina show.php


    Codice PHP:
    <?
    if (isset($_GET['id']))
    {
    $id = @intval($_GET['id']);
    @include
    'config.php';
    $sql = "SELECT id,type,immagine,descrizione,nome_prodotto,tipo,sottotipo, scheda_tecnica, verso_img FROM immagini WHERE id='$id'";
    $result = @mysql_query($sql) or die(mysql_error ());
    $row = @mysql_fetch_array($result);
    $id_img = $row['id'];
    $type = $row['type'];
    $img = $row['immagine'];
    $descrizione = $row['descrizione'];
    $nome_prodotto = $row['nome_prodotto'];
    $tipo = $row['tipo'];
    $sottotipo = $row['sottotipo'];
    $scheda_tecnica = $row['scheda_tecnica'];
    $verso_img = $row['verso_img'];


    if (!
    $id_img)
    {
    echo
    "Id sconosciuto";
    }else{
    @
    header ("Content-type: ".$type);
    echo
    $img;
    }
    }else{
    echo
    "Impossibile soddisfare la richiesta.";
    }
    ?>
    Grazie.

  4. #4
    Guest

    Predefinito

    Qualcuno ha idea di come posso risolvere questo problema?
    Non capisco perchè le immagini che metto settate in verticali me le taglia.
    Cioè andando in proprietà immagine mi da le dimensioni giuste, ma non mi visualizza l'intera immagine poichè la parte inferiore dell'immagine viene visualizzata trasparente...avete idea del perchè? se volete posto un screenshot del problema.
    Grazie ancora.

  5. #5
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    se è un problema di visualizzazione in base alla variabile $verso_img, nel codice postato abbiamo questa definizione:

    Codice PHP:
    if ($verso_img==1){

    $width=250; }
    else {
    $height=250;}
    e la parte di visualizzazione dell'immagine è questa:
    Codice PHP:
    if ($verso_img==1){
    echo
    "
    <img src=\"show.php?id="
    .$id."\" width=".$width.">";}
    else {
    echo
    "
    <img src=\"show.php?id="
    .$id."\" height=".$height.">";}
    secondo me il problema è da rilevarsi nella mancanza della definizione del width quando $verso_img!=1, in questa linea di codice il width non è definito:
    Codice PHP:
    else {
    echo
    "
    <img src=\"show.php?id="
    .$id."\" height=".$height.">";}
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  6. #6
    Guest

    Predefinito

    Il problema è che non posso dar il parametro width sennò l'immagine non mi si ridimensiona in automatico ma mi uscirebbe "sformata".

  7. #7
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,064

    Predefinito

    Specificando sia il width, sia l'height, l'immagine viene sformata. In effetti è opportuno specificarne soltanto uno (qualora non si conosca a prescindere il rapporto altezza/larghezza dell'immagine).

    Un motivo per cui non si vede l'intera immagine può essere dato dalla sovrapposizione di altri elementi html (ad esempio con z-index maggiore, oppure valori di overflow impostati male, o altri simili...).

    Se non riesci, hai una url di esempio per vedere il problema?

    Ciao!

  8. #8
    Guest

    Predefinito

    ecco un esempio
    http://www.christianiltuomaterassaio...rodotto=MARIKA
    l'immagine è alta circa 3 volte rispetto a quello che si vede..
    Grazie

    Nel frattempo controllo che non ci sia qualche elemento che ostacola...

  9. #9
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,064

    Predefinito

    Probabilmente l'immagine è corrotta, perché con firefox vedo il pezzo superiore, e quello inferiore lo vedo nero. Mi riferisco a questa immagine: http://www.christianiltuomaterassaio.it/show.php?id=117

    Con firefox:

    Con chrome:


    Cerca di non fare layout con tabelle, e di non usare tag html obsoleti, come <font>.

    Ciao!
    Ultima modifica di alemoppo : 10-05-2013 alle ore 16.17.17

  10. #10
    Guest

    Predefinito

    Ma perchè è corrotta e le altre no?
    Dico una cavolata...può essere che non ci stia all'interno del campo blob?
    Cosa dovrei fare per risolvere il problema? perchè anche se le ricarico tornano cosi come son ora..

    Ti ringrazio e ti prometto che prima di far altri siti mi aggiorno sotto tutti gli aspetti..intanto grazie ancora.

  11. #11
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,064

    Predefinito

    Citazione Originalmente inviato da christianresine Visualizza messaggio
    Ma perchè è corrotta e le altre no?
    Dico una cavolata...può essere che non ci stia all'interno del campo blob?
    Cosa dovrei fare per risolvere il problema? perchè anche se le ricarico tornano cosi come son ora..
    Personalmente non ho mai utilizzato il database per salvare immagini, quindi non saprei aiutarti per questo. Magari, (se non ti scoinvolge tutto) prova ad impostare il campo come "MEDIUMBLOB", o "LONGBLOB".

    Oppure, prima di caricare l'immagine sul database, nel tuo PC si vede correttamente? Perché potrebbe essere corrotta quella "originale", quindi anche ricaricandola, non cambia nulla.

    Ciao!
    Ultima modifica di alemoppo : 10-05-2013 alle ore 16.28.06

  12. #12
    Guest

    Predefinito

    Sul pc si vede bene prima di caricarla..ora provo a settare diversamente i campi...

    Ma che altri modi avrei per caricare immagini se non uso un database e senza ftp?

    EDIT:

    Altro fatto che ho appena visto...se la scarico l'antemprima di visualizzazione me la dà giusta mentra la apro e ricompare i fondo grigio

    http://imageshack.us/photo/my-images/33/aaapah.jpg/
    Ultima modifica di alemoppo : 10-05-2013 alle ore 16.52.12 Motivo: Immagine troppo grande + non fare post consecutivi.

  13. #13
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,064

    Predefinito

    Beh però vedi che anche nel visualizzatore c'é lo stesso problema? Non so perché l'immagine nell'anteprima si vede bene... Forse l'anteprima è in un'immagine temporanea del tuo PC, ed è stata creata prima che si corrompesse....

    Ciao!

  14. #14
    Guest

    Predefinito

    Ma dici che sia un problema dovuto al codice o semplicemente si è caricato male?

    scusa se ti richiedo...ma che altri modi avrei per caricare immagini se non uso un database e senza ftp?

    Ultime domande..poi mi arrendo e ti lascio in pace :D

    Grazie :)

  15. #15
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,064

    Predefinito

    Citazione Originalmente inviato da christianresine Visualizza messaggio
    Ma dici che sia un problema dovuto al codice o semplicemente si è caricato male?
    Dallo screen che hai messo sopra, direi che l'immagine è corrotta già nel tuo PC (altrimenti il visualizzatore la visualizzerebbe correttamente).

    Citazione Originalmente inviato da christianresine Visualizza messaggio
    scusa se ti richiedo...ma che altri modi avrei per caricare immagini se non uso un database e senza ftp?
    Perché non puoi usare FTP? (forse perché non hai un altersito?).
    Un altro modo può essere, da pannello di controllo, andare su "altersito" -> "gestione files" (anche qui, si può fare solo se hai un alterSito).

    Comunque ripeto: vedendo lo screen che hai messo sopra, direi che il problema non è nel caricamento, ma è l'immagine già corrotta. L'anteprima si vede bene perché può essere che sia salvata in una cartella temporanea fatta prima di essersi corrotta.

    Ciao!

  16. #16
    Guest

    Predefinito

    Si che ho l'altersito è identico a quello uppato su aruba (christianresine.altervista.org/) il problema è che l'utilizzatore finale non sà usare ne ftp, ne la gestione tramite altervista, quindi ho dovuto implementare tramite Database.

    L'immagine che si vede corrotta l'avevo scaricata dal sito, proprio per far notare che il visualizzatore me la fà veder corrotta, mentre l'anteprima è corretta, e non mi spiego il perchè.
    (E' impossibile che sia temporanea sul pc poichè prima di scaricarla giu non ce l'avevo su questo pc)

    Poi da casa provo con l'immagine non rovinata e casomai riposto.
    nel frattempo grazie e intanto ciao :)

  17. #17
    Guest

    Predefinito

    RISOLTO

    ho cambiato il campo da blob a longblob e funziona..il problema a quanto pare era che non ci stava l'immagine perchè era troppo grande.
    Grazie ancora di tutto...buona giornata

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •