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

    Call to undefined function: imagecreatefromjpeg()

    Questo errore significa che sul server dove sto provando non e' settato qualcosa?

    Mi dite cosa devo settare e e' questo il problema?
    Inoltre se si tratta di dominio in hosting, se faccio richiesta all'azienda, mi daranno i permessi?
    Mai dire Mai

  2. #2
    Probabilmente non hai le librerie GD installate!
    Di solito in hosting, queste librerie sono abilitate di default nei server Linux e disabilitate in quelli Windows.

    Probabilmente sei su uno spazio Win, dove gli hoster non installano queste librerie perché i server perdono di prestazioni.

    Questo per dirti che non credo che se anche contattassi l'hoster, è difficile che ti abilitino il servizio.... ma te provaci comunque!
    Tentar non nuoce!!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    il problema e' che sto facendo una galleria di immagini e quindi devo far fare il resize automatico.
    Che via posso utilizzare?
    Anche se inserisco una galleria già fatta non riuscirei a fare il resize, giusto?
    Mai dire Mai

  4. #4
    Che via posso utilizzare?
    Ti ripeto: se sei su spazio windows hai poco da inventarti!
    Gli hoster su Win non installano le librerie GD perché (dicono) fano perdere in prestazioni i loro server.
    Puoi chiedere la migrazione del tuo sito su spazio Linux oppure misto.

    Anche se inserisco una galleria già fatta non riuscirei a fare il resize, giusto?
    Se entri in un frutta e verdura e chiedi di comprare un maglione, non te lo vendono non perché sei antipatico, ma perché proprio non ne hanno da vendere!!

    Se non vuoi cambiare hosting (visto che si paga) e magari visualizzi poche miniature per pagina, puoi provare a fare il resize o via PHP (sfruttando getimagesize()), oppure via CSS.
    Se prevedi, invece, molte miniature per pagina ti conviene aggirare l'ostacolo inserendo due campi di input per ogni foto: una per la miniatura ed una per la foto a dimensioni originali.
    In poche parole, il resize te lo fai a mano in locale con un programma di fotoritocco e poi carichi nel server direttamente la miniatura.

    Non mi vengono in mente altri metodi.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    Si infatti e' come dici tu, lo spazio e' di un mio cliente e non sta sul mio server dedicato (tra l'altro non ho nemmeno controllato se sto spazio e' su windows o linux).
    Non vorrei fargli mettere 2 campi perche' non so se poi sapra' fare il ridimensionamento delle foto, ma anche perche' voglio semplificargli un po' tutto.
    Il resize con i css come lo fai?

    Con php io la faccio con questo codice:

    Codice PHP:
    <?php

    if($foto<>"none") {

      if(!
    move_uploaded_file($foto,"../public/$id/grandi/$foto_name")) {//posso modicare il percorso dell'immagine da qui

       
    print("Errore nel caricamento dell'immagine.
    "
    );

      }

      else {

        print(
    "");

      }

    }

    //Inizio il resize 

    $fullsize=imagecreatefromjpeg("../public/$id/grandi/$foto_name");//Prelevo l'immagine da dove l'ho salvata pocanzi

    $fullsize_height=imagesy($fullsize);

    $fullsize_width=imagesx($fullsize);

     

    $thumb_width=180;//dimensione della larghezza l'altezza viene fatta in proporzione

     

    $thumb_height=floor($fullsize_height/($fullsize_width/$thumb_width));

     

    $thumb=imagecreatetruecolor($thumb_width,$thumb_height);

    imagecopyresampled($thumb,$fullsize,0,0,0,0,$thumb_width,$thumb_height,$fullsize_width,$fullsize_height);

     

    imagedestroy($fullsize);

    imagejpeg ($thumb,"../public/$id/piccole/$foto_name");//posso modivicare il percorso dell'immagine piccola da qui

    imagedestroy($thumb);

    ?>
    Mai dire Mai

  6. #6
    Il resize CSS è una semplice operazione di dimensionamento del tag IMG presente nella pagina dove mostri le miniature.
    Ammesso che il DIV si chiami galleria, il tuo CSS sarà qualcosa del tipo:

    codice:
    #galleria {
    height: 100 px;
    width: auto;
    margin: 5px;
    padding: 5px;
    /* eccetera */
    }
    
    #galleria img {
    width: 80px;
    height: 80px;
    margin: 15px;
    padding: 2px;
    }
    A questo CSS abbini il seguente codice HTML.
    Questo però non è un resize effettivo, ma un modo per visualizzare "al volo" una miniatura di una foto, che mantiene però tutte le sue caratteristiche principali. La miniatura ha infatti lo stesso peso (in Kb) della foto originale.

    Ti consiglio quindi (se adotterai questo metodo) di fare in modo, con oppotuni filtraggi in fase di caricamento delle foto, di non caricare immagini che abbiano un peso superiore ai 100/150 kb, nonché di limitare il numero di immagini per pagina.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  7. #7
    si immaginavo che era cosi... ma non e' un resize e la pagina sarebbe pesantissima anche per visualizzare le miniature.
    Devo vedere se si riesce a convincere l'hoster a mettere le librerie gd
    Mai dire Mai

  8. #8
    Infatti ti avevo avvertito che questa era una soluzione... come dire.... palliativo!
    Secondo me, però, l'hoster ti chiederà di spostari su hosting Linux.
    In bocca al lupo.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.