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
    946

    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 non  connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    18,190

    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 non  connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    18,190

    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 17.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 non  connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    18,190

    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 17.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 17.52.12 Motivo: Immagine troppo grande + non fare post consecutivi.

  13. #13
    L'avatar di alemoppo
    alemoppo non  connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    18,190

    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 non  connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    18,190

    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
  •