• User

    Recuperare testo da file e assegnare i nomi a delle variabili

    Ciao a tutti, sto creando per un amico una Galleria di Immagini..
    Il tutto è completamente finito solo che manca la parte per far scorrere le immagini..
    Per farlo uso dei link che con una query string mando il nome del file da aprire

    Ad esempio:

    [PHP]<a href="index.php?id=foto_gita001.jpg">Immagine precedente</a>[/PHP]
    [PHP]<a href="index.php?id=foto_gita003.jpg">Immagine successiva</a>[/PHP]

    Poichè l'immagine visualizzata è la: foto_gita002.jpg...
    Sono 3 giorni che cerco un modo per recuperare da un file di testo i nomi dei file precedenti e successivi dando in pasto alla funzione il nome dell'immagine visualizzato..
    La galleria non ha database, prende le immagini direttamente dalle cartelle e crea gli album direttamente dai nomi delle cartelle...
    Con un database sarebbe moooolto semplice...ma come faccio a recuperare quei valori da un file??

    Grazie,

    Simone


  • ModSenior

    Perché non integrare una gallery che gia fa quel lavoro come Graybox, _LightBox?


  • User

    Il tipo che voleva la gallery non voleva script già fatti..perchè troppo sofisticati e pesanti...


  • User

    Qui c'è quello che cerchi:

    forum.diodati.org/messaggi.asp?f=3&id=7496


  • User

    Ciao, grazie per il link ma non è proprio quello che serve a me...
    Io ho un file di nome file.txt in ogni cartella dell'album che contiene tutti i nomi dei file dell'album delimitati da un |

    Quello che vorrei fare è cercare di recuperare il valore precedente e successivo della riga del file che sarà uguale al nome del file visualizzato...
    Ad esempio io sto visualizzando la foto al_mare_002.jpg vorrei che quella funzione restituisse in due differenti variabili i nomi del file della riga precendente e della riga successiva al file al_mare_002.jpg...
    Nella mia pagina c'è solo una foto...
    Sto trovando un modo di cercare stringhe in un file di testo, ma non ci riesco...

    Ciao,

    Simone


  • User

    Mi sono ricordato della funzione in_array...
    Ho quindi risolto così:

    [PHP]$fp1 = fopen("public/$alb/thumb/file.txt","r");
    $contenuto = fread($fp1,filesize("public/$alb/thumb/file.txt"));
    $singolo_file = explode("|",$contenuto);
    function array_keyp($haystack,$needle)
    {
    foreach($haystack as $keys => $values)
    {
    if($haystack[$keys] == $needle)
    return $keys-1;
    }
    return false;
    }

    function array_keyss($haystack1,$needle1)
    {
    foreach($haystack1 as $keys1 => $values1)
    {
    if($haystack1[$keys1] == $needle1)
    return $keys1+1;
    }
    return false;
    }
    $previous = array_keyp($singolo_file,$id);
    $next = array_keyss($singolo_file,$id);
    $previous1=$singolo_file[$previous];
    $next1=$singolo_file[$next];[/PHP]


  • ModSenior

    Allora forse secondo me dovresti fare una cosa del genere.

    • Prelevare il testo dal file txt (sara del tipo album1|album2,album3|album4).

    • associ a una variabile il limite massimo=3_(partendo da 0).

    • associ a ogni pagina un id del tipo 0,1,2,3.

    • ad ogni link cliccato rileggi la riga_(l'id) esempio_(2) e se questo id>0 allora mostri il link che punta alla riga=id-1 e il secondo controllo analogo se id<massimo allora mostri l'altro link alla seguente riga=id+1.

    E' una procedura un po di programmazione,_io risolverei cosi,_magari arriveranno altri aiuti migliori.


  • User

    Ho risolto scrivendo quello script più sopra...
    Avevo visto l'in_array da qualche parte, quindi ho usato una funzione che svolge lo stesso tipo che fa il PHP nativamente...xDD

    Comunque, grazie mille a tutti...

    Ciao,

    Simone


  • ModSenior

    Molto meglio la tua scelta.
    Saluti,_Marco.