Visualizzazione risultati 1 fino 19 di 19

Discussione: Gallery flash + php: problema!

  1. #1
    Guest

    Predefinito Gallery flash + php: problema!

    Ciao! allora io ho trovato una photogallery davvero interessante,il problema è uno solo: per mettere le foto devo scrivere in un file xml per ogni foto il suo link della foto stessa,del suo thumbnail e il nome della foto(ke nn è molto importante!),ora siccome le foto ke devo mettere sono tante volevo sapere se con il php si poteva dire al file xml i link delle img,se si poteva anche creare i thumbnail pur nn avendoli nel sito(in pratica prendendo la foto e visualizzandola ridimensionata) e fargli scrivere anche il nome della foto
    Posto anche il codice xml ke si occupa delle img così ke possiate capire meglio:
    Codice:
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <images>
        <pic>
            <image>gallery/1.jpg</image>
            <thumbnail>gallery/s1.jpg</thumbnail>
            <caption>Some lamp on the ground</caption>
        </pic>
        <pic>
            <image>gallery/2.jpg</image>
            <thumbnail>gallery/s2.jpg</thumbnail>
            <caption>Old communist buildings</caption>
        </pic>    
        <pic>
            <image>gallery/3.jpg</image>
            <thumbnail>gallery/s3.jpg</thumbnail>
            <caption>Voodoo doll part one</caption>
        </pic>   
        <pic>
            <image>gallery/4.jpg</image>
            <thumbnail>gallery/s4.jpg</thumbnail>
            <caption>Voodoo doll part two</caption>
        </pic>     
        <pic>
            <image>gallery/5.jpg</image>
            <thumbnail>gallery/s5.jpg</thumbnail>
            <caption>Red Devil</caption>
        </pic> 
    </images>
    P.S:ho cercato sul forum ma nn ho trovato nulla di kè!
    grazie in anticipo!!!!!
    Ultima modifica di gbtchiaravalle : 22-02-2008 alle ore 16.15.30

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da gbtchiaravalle Visualizza messaggio
    ... volevo sapere se con il php si poteva dire al file xml i link delle img,se si poteva anche creare i thumbnail pur nn avendoli nel sito(in pratica prendendo la foto e visualizzandola ridimensionata) ...
    Fino a qui è possibile... prova a dare un'occhiata a questo topic: http://forum.it.altervista.org/php-m...-immagini.html
    Citazione Originalmente inviato da gbtchiaravalle Visualizza messaggio
    ... e fargli scrivere anche il nome della foto
    Se intendi che dalla foto PHP sia in grado di tirarne fuori da solo una descrizione, non aspettarti miracoli...

    Però, se specifichi il percorso del file e la sua descrizione, lo stesso programmino PHP potrebbe anche generarti il file XML che ti serve... basta usare saggiamente un po' di echo (e un header("Content-type: text/xml"); all'inizio del file).

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    Guest

    Predefinito

    il link ke mi hai dato tu serve per rimpicciolire le img,invece per compilare il file xml come faccio???
    e cmq alla fine per rimpicciolire le img basta mettere il link della foto con gli attributi width e height

  4. #4
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da gbtchiaravalle Visualizza messaggio
    il link ke mi hai dato tu serve per rimpicciolire le img,invece per compilare il file xml come faccio???
    Come ti ho in parte anticipato sopra: cominci il file in questo modo
    Codice PHP:
    <?php
    header
    ("Content-type: text/xml");
    echo (
    '<?xml version="1.0" encoding="utf-8" standalone="yes"?>');
    ?>
    poi prosegui stampando il file nel formato XML che hai dichiarato sopra, esempio:
    Codice PHP:
    <image><?php echo $path; ?></image>
    <thumbnail>resize.php?file=<? echo $path; ?></thumbnail>
    <caption><?php echo $comment; ?></caption>
    dove $path è il percorso dell'immagine e $comment il relativo commento...
    Citazione Originalmente inviato da gbtchiaravalle Visualizza messaggio
    e cmq alla fine per rimpicciolire le img basta mettere il link della foto con gli attributi width e height
    Non è proprio la stessa cosa... cambiando solo le dichiarazioni sul file HTML, l'immagine scaricata (magari pesante) resta la stessa...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  5. #5
    Guest

    Predefinito

    ri ringrazio per l'aiuto ma quello ke io devo fare è far leggere allo script in automatico tutte le img presenti nella directory e poi compilare il file xml e io nn ne sono capace!
    e poi lo script dovrebbe creare i codici(<image>,<thumbnail>,<caption>) per ogni foto,nn so se ho reso l'idea!

  6. #6
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da gbtchiaravalle Visualizza messaggio
    ri ringrazio per l'aiuto ma quello ke io devo fare è far leggere allo script in automatico tutte le img presenti nella directory ...
    Segui le istruzioni di questa discussione: http://forum.it.altervista.org/php-m...nco-files.html. readdir() restituisce il nome del file che ti serve per elaborare il file XML.
    Citazione Originalmente inviato da gbtchiaravalle Visualizza messaggio
    ... e poi compilare il file xml e io nn ne sono capace!
    e poi lo script dovrebbe creare i codici(<image>,<thumbnail>,<caption>) per ogni foto,nn so se ho reso l'idea!
    Per fare questo, segui le indicazioni del mio post sopra, mettendo le istruzioni del secondo blocco dentro il ciclo, e quelle del primo blocco prima dell'inizio del ciclo.

    Ti serve inoltre un file chiamato resize.php che crei il file della miniatura, seguendo le indicazioni che ti ho dato nel secondo post...

    A questo punto, dovresti aver tutto quel che ti serve... stammi bene...
    Ultima modifica di dementialsite : 23-02-2008 alle ore 12.15.00
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  7. #7
    Guest

    Predefinito

    allora c'è un problema,ho fatto come mi hai detto tu: ho guardato la discussione sulla img e ho preso l'ultimo script della pagina e l'ho chiamato resize.php,poi per vedere se funzionava ho creato uno script di questo genere:
    Codice PHP:
    <?php
    if ($handle = opendir('/membri/gbtchiaravalle/images')) {
    while (
    false !== ($file = readdir($handle))) {
    echo
    "<img src='resize.php?file=<? echo $file; ?>'><br>";
    }
    closedir($handle);
    }
    ?>
    solo ke una volta lanciato mi riempe la pagina di un errore relativo alla pagina resiize ke è "ERRORE: l'immagine non esiste"
    Vi posto anche la pagina resize.php magari l'errore risiede lì:

    resize.php
    Codice PHP:
    <?php
    // *** CONFIGURAZIONE ***//
    $onthefly = 0; //Generazione al volo delle immagini, cache disattiva: 1 = si 0 = no.
    //ATTENZIONE: Con questa opzione attivata il caricamento delle pagine con tante immagini potrebbe risultare
    //visibilmente rallentato. Usare questa opzione è consigliabile solo in fase di sviluppo, in caso di necessità di non
    //occupare spazio sul server, o nel caso non si disponga di permessi di scrittura
    //N.B.: Se è disattivata, qualsiasi dimensione, watermark, rotazione od altro passati non verranno eseguiti, verrà
    //solo caricata la versione della cache
    $defsize = 300; //Larghezza/altezza predefinita del thumbnail
    $resample = 1; //Utilizzo della funzione resample nella riduzione, che garantisce una migliore qualità ma è più lento (solo nella
    //generazione delle immagini, non nel richiamo dalla cache): 1 = si 0 = no
    $persfont = 0; //Font .ttf personalizzato per il watermark: 1 = si (necessario inserire quale nella prossima variabile) 0 = no
    $font = ""; //Nome del file del font, relativo alla directory dello script
    $size = 18; //Dimensione del font (solo se personalizzato)
    $alwayswm = 0; //Watermark su tutte le immagini: 1 = si 0 = no
    $defwm = ""; //Testo predefinito del watermark, obbligatorio se alwayswm è settato a 1
    $trasp = 110; //Trasparenza del watermark, da 0 a 127
    //*** FINE CONFIGURAZIONE ***//

    $imgfile = htmlspecialchars(@$_GET['file']);
    $size = @$_GET['size'];
    $rot = @$_GET['rot'];
    $wm = @$_GET['wm'];
    $al = @$_GET['al'];
    $ext = explode(".", $imgfile);
    $n = count($ext)-1;
    $ext = strtolower($ext[$n]);
    $get = '';
    foreach(
    $_GET as $k => $v){
    $get .= $k.$v;
    }
    $nomethumb = "thumb/thumb_".md5($imgfile.$get).".".$ext;

    function
    read($f){
    global
    $ext,$imgfile,$nomethumb;
    if(
    $ext == "jpg" || $ext == "jpeg"){
    header('Content-type: image/jpeg');
    }

    elseif(
    $ext == "gif"){
    header('Content-type: image/gif');
    }

    elseif(
    $ext == "png"){
    header('Content-type: image/png');
    }

    elseif(
    $ext == "bmp"){
    header('Content-type: image/vnd.wap.wbmp');
    }

    $handle = fopen($nomethumb, "r");
    echo
    fread($handle, filesize($nomethumb));
    fclose($handle);
    }

    function
    error($e){
    $w = (imagefontwidth(5) * strlen($e));
    $h = imagefontheight(5);
    $img = imagecreate($w,$h);
    $bgcolor = imagecolorallocate($img, 255, 255, 255);
    $txtcolor = imagecolorallocate($img, 255, 0, 0);
    imagestring($img, 5, 0, 0, $e, $txtcolor);
    header("Content-type: image/gif");
    imagegif($img);
    }

    function
    resize($source){
    global
    $resample, $thumb, $newwidth, $newheight, $width, $height;
    if(
    $resample == 1){
    imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
    }else{
    imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
    }
    return
    $thumb;
    }

    function
    edit($thumb){
    global
    $ext, $imgfile, $rot, $source, $newheight, $newwidth, $wm, $al, $persfont, $font, $alwayswm, $defwm, $size, $tras;
    if(isset(
    $rot)){
    if(
    is_numeric($rot)){
    $thumb = imagerotate($thumb, $rot, 0);
    }
    }

    if(isset(
    $wm) || $alwayswm == 1){
    $black = imagecolorallocatealpha($thumb, 0, 0, 0, $tras);

    if(
    $alwayswm == 1){
    $wm = $defwm;
    }

    if(
    $persfont == 0){
    $font = 5;
    }

    if(!isset(
    $al) || ($al != "left" && $al != "center" && $al != "right")){
    $al = "right";
    }

    switch (
    $al){
    case
    "left":
    $w = 2;
    break;
    case
    "center":
    $w = ($newwidth - (strlen($wm) * imagefontwidth($font))) / 2;
    break;
    case
    "right":
    if(
    $persfont == 1){
    $w = $newwidth - (strlen($wm) * (imagefontwidth($font) * $size/2)) - 2;
    }else{
    $w = $newwidth - (strlen($wm) * imagefontwidth($font)) - 2;
    }
    break;
    }
    $h = $newheight - imagefontheight(5) - 2;

    if(
    $persfont == 0 || trim($font) == ""){
    imagestring($thumb, 5, $w, $h, $wm, $black);
    }else{
    imagefttext($thumb, $size, 0, $w, $h, $black, $font, $_GET['wm']);
    }
    }
    return
    $thumb;
    }

    if(
    $alwayswm == 1 && trim($defwm) == ""){
    error("ERRORE: Necessario watermark predefinito con il watermark obbligatorio attivato");
    }

    if(!
    is_dir("thumb")){
    mkdir("thumb");
    }

    if(!
    is_file($imgfile)){
    error("ERRORE: L'immagine non esiste");
    die();
    }

    if(!isset(
    $size)){
    $size = $defsize;
    }

    if(
    is_file($nomethumb) && $onthefly == 0){
    read($nomethumb);
    die();
    }
    if(!
    is_file($imgfile)){
    error("ERRORE: Il file non esiste");
    die();
    }

    list(
    $width, $height) = getimagesize($imgfile);
    //Heracleum mod
    if($height < $width){
    $newwidth = $size;
    $rap = $height / $width;
    $newheight = $newwidth * $rap;
    }else{
    $newheight = $size;
    $rap = $width / $height;
    $newwidth = $newheight * $rap;
    }
    $thumb = ImageCreateTrueColor($newwidth,$newheight);
    imageantialias($thumb,1);
    if(
    $ext == "jpg" || $ext == "jpeg"){
    header('Content-type: image/jpeg');
    $source = imagecreatefromjpeg($imgfile);
    $thumb = resize($source);
    $thumb = edit($thumb);
    if(
    $onthefly == 1){
    imagejpeg($thumb);
    }else{
    imagejpeg($thumb, $nomethumb);
    read($nomethumb);
    }
    }

    elseif(
    $ext == "gif"){
    header('Content-type: image/gif');
    $source = imagecreatefromgif($imgfile);
    $thumb = resize($source);
    $thumb = edit($thumb);
    if(
    $onthefly == 1){
    imagegif($thumb);
    }else{
    imagegif($thumb, $nomethumb);
    read($nomethumb);
    }
    }

    elseif(
    $ext == "png"){
    header('Content-type: image/png');
    $source = imagecreatefrompng($imgfile);
    $thumb = resize($source);
    $thumb = edit($thumb);
    if(
    $onthefly == 1){
    imagepng($thumb);
    }else{
    imagepng($thumb, $nomethumb);
    read($nomethumb);
    }
    }

    elseif(
    $ext == "bmp"){
    header('Content-type: image/vnd.wap.wbmp');
    $source = imagecreatefrompng($imgfile);
    $thumb = resize($source);
    $thumb = edit($thumb);
    if(
    $onthefly == 1){
    imagewbmp($thumb);
    }else{
    imagewbmp($thumb, $nomethumb);
    read($nomethumb);
    }
    }else{
    error("ERRORE: Formato non supportato");
    die();
    }

    ?>

  8. #8
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Al posto di:
    Codice PHP:
    echo "<img src='resize.php?file=<? echo $file; ?>'><br>";
    Metti:
    Codice PHP:
    echo "<img src=\"resize.php?file={$file}\"><br>";
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  9. #9
    Guest

    Predefinito

    ho fatto come hai detto tu ma compare sempre lo stesso errore!,nn è ke magari devo impostare la grandezza dell'img da qualche parte??

  10. #10
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Il problema dovrebbe essere dato dal fatto che il percorso che gli mandi è sbagliato. Potresti scrivere il link dello script?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  11. #11
    Guest

    Predefinito

    scusa cosa intendi per "link dello script"?
    cmq posso dirti ke le img sono in una cartella e lo script in un'altra quindi si trovano in due cartelle separate,dipende da questo vero? se si come risolvo?,xkè io ho provato a modificare così ma nn funziona:

    Codice PHP:
    echo "<img src=\"resize.php?file={/images/$file}\"><br>";
    Ultima modifica di gbtchiaravalle : 26-02-2008 alle ore 15.14.22

  12. #12
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Per "link dello script" intendo il link di dove stai facendo le prove.
    Il tuo codice contiene sicuramente un errore. Prova a modificarlo in questo modo (le parentesi graffe vanno solo prima e dopo la variabile):
    Codice PHP:
    echo "<img src=\"resize.php?file=/images/{$file}\"><br>";
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  13. #13
    Guest

    Predefinito

    ho risolto ma ho dovuto scrivere così:
    Codice PHP:
    echo "<img src=\"resize.php?file=/membri/gbtchiaravalle/images/{$file}\"><br>";
    invece senti una cosa: quando lo script salva le nuove img nella cartella thumb le salva cambiando il nome alla img,come potrei modificare lo script in modo ke il nome della img nn cambi??

  14. #14
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Devi modificare il valore di $nomethumb.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  15. #15
    Guest

    Predefinito

    scusa potresti dirmi come? ho fatto qualche prova ma nn sono riuscito a combinare nulla!
    cmq vi ringrazio per tutta la pazienza ke ci state mettendo!

  16. #16
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Devi modificare il valore che trovi in questa riga:
    Codice PHP:
    $nomethumb = "thumb/thumb_".md5($imgfile.$get).".".$ext;
    In questo modo:
    Codice PHP:
    $nomethumb="thumb/".$imgfile;
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  17. #17
    Guest

    Predefinito

    scusa ma era una delle prove ke avevo fatto io e nn funziona così,quando apro la pagina compaiono tutti rettangolini con la x rossa in alto(in pratica nn compaiono le foto)

  18. #18
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Dovresti modificare lo script che visualizza le immagini rimpicciolite se cambi a loro il percorso.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  19. #19
    Guest

    Predefinito

    nn mi è molto kiaro quello ke hai detto,scusa se c'è l'md5 funziona,se lo tolgo no,nn è possibile!

Regole di scrittura

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