• User Newbie

    libreria GD

    ciao a tutti,
    ho iniziato a conoscere la programmazione php da poco, ho installato php con apache in windows xp, adesso vorrei visualizzare delle immagini ma non ci riesco.
    Il problema e che non riesco a collegare la libreria GD, mi dicono di abilitarlo nel file php.ini decommentando la direttiva extension=php_gd.dll, naturalmente il file php_gd.dll è presente nella directori extensions.
    Quando pero devo visualizzare un'immagine , nel browser locale mi da un errore. (lo script è molto semplice, non ci sono errori)
    Vi sarei molto grato per un aiuto.


  • Community Manager

    Ciao e Benvenuto 🙂

    Sei in locale o sul server?


  • Super User

    hai configurato la directory delle estensioni?

    per php4
    extension_dir = "c:/php/extensions/"

    per php5
    extension_dir = "c:/php/ext/"

    ammesso che tu l'installazione l'abbia fatta in c:\php

    se invece non sei in locale ma sul server e non ti funzia fai una pagina con questo codice:

    <?
    phpinfo();
    ?>

    ti restituisce tutti i parametri php impostati sul server e verifica se sono installate le librerie.
    :ciauz:


  • User Newbie

    grazie a tutti per le risposte,...il problema pero è che ancora non riesco a risolvere...
    Io non sono nel web, ma in una rete locale del mio computer stesso.
    Ho aggiunto, come mi è stato suggerito extension_dir="C:/php/extensions/" (naturalmente la directori e il file sono a suo posto), e comunque non funziona.
    Per di più, adesso quando cerco di visualizzare sul browser un qualsiasi script,anche molto semplice e senza immagini, prima mi appare questa scritta: X-Powered-By:PHP4.0.0 Content-type:text/html.....
    qualcuno può aiutarmi per favore
    molto grato


  • User Attivo

    io ti consiglio di buttarla la GD e imparare subito IMAGEMAGICK che qualitativamente gli sta 10 spanne sopra 🙂

    http://www.imagemagick.org/


  • Super User

    che versione di php hai installato?

    se non hai l'ultima versione della 4 o addirittura la 5 aggiornala.

    è sufficiente che scarichi il pacchetto completo, lo metti in c:\php
    prendi php.ini e lo riconfiguri

    devi impostare il percorso delle directory :
    extensions
    uploadtemp
    sessiondata

    devi togliere il ";" davanti alle librerie che usi e dovresti essere a posto.

    non scaricare l'installer, non ti installa le librerie.


  • Bannato User Attivo

    Ho fatto un form che mi carica le foto sul server.
    Riesco a fare il controllo sul loro "peso" in termini di kb.

    Mi piacerebbe però salvare nelle informazioni relative alla foto (in una tabella del database) anche la loro LARGHEZZA per fare in modo che quando visualizzo una pagina che le richiama, se la foto è più larga di 400 px ne visualizzo un thumb altrimenti la visualizzo "intera".

    Come potrei fare? Esistono le funzioni apposite?

    GRAZIE.


  • User Attivo

    **list($larghezza, $altezza, $tipo) = getimagesize($nomeImmagine);
    **


  • Bannato User Attivo

    Mmmmmm, il nome immagine dove lo prendo.
    Io sono arrivato qui:
    dopo tutti i controlli del caso rinomino la foto e poi la sposto in una ben precisa cartella:

    $count = mysql_query("SELECT COUNT(pics_id) FROM s_pics");
    $res_count = mysql_fetch_row($count);
    $tot_records = $res_count[0];
    $nome1 = "".$tot_records."-".$nome_0."";
    # ATTENZIONE: CATEGORIA FOTO E PERCORSO SALVATAGGIO DELLA FOTO ***** CARTELLA: pics/reviews/ *********
    copy($HTTP_POST_FILES['file']['tmp_name'],"/home/vhosts/skiforum.it/var/www/html/pics/reviews/".$nome1);
    unlink($HTTP_POST_FILES['file']['tmp_name']);
    $error = "Molto bene, la foto è stata caricata e modificata correttamente.";
    

    Prima di spostarla uso:
    $nomeImmagine = $nome1 ???????

    GRAZIE


  • User Attivo

    Prima di spostarla l'immagine ce l'hai:
    $nomeImmagine = $HTTP_POST_FILES['file']['tmp_name'];
    dopo:
    $nomeImmagine = "/home/vhosts/skiforum.it/var/www/html/pics/reviews/".$nome1;


  • Bannato User Attivo

    E per usare la funzione getimagesize la applico così?

    <?php
    $nomeImmagine = $HTTP_POST_FILES['file']['tmp_name'];
    $blah = getimagesize("$nomeimmagine");
    $type = $blah['mime'];
    $width = $blah[0];
    $height = $blah[1];
    ?>
    

    LA funzione originale è questa:
    <?php
    $blah = getimagesize("folder/file.gif");
    $type = $blah['mime'];
    $width = $blah[0];
    $height = $blah[1];
    ?>


  • User Attivo

    Così?
    @margheritebianche said:

    **list($larghezza, $altezza, $tipo) = getimagesize($nomeImmagine);
    **


  • Bannato User Attivo

    Ho usato questa riga:
    //Raccolgo i dati della foto
    list($pics_width, $height, $type, $attr) = getimagesize("$HTTP_POST_FILES['file']['tmp_name']");

    Ma ottengo questo errore:
    Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/vhosts/skiforum.it/var/www/html/ski/slopes-save-review.php on line 145

    Eppure tutto sembra corretto.
    Bohhhhh.