- Home
- Categorie
- Coding e Sistemistica
- PHP
- Recuperare testo da file e assegnare i nomi a delle variabili
-
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 aprireAd 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
-
Perché non integrare una gallery che gia fa quel lavoro come Graybox, _LightBox?
-
Il tipo che voleva la gallery non voleva script già fatti..perchè troppo sofisticati e pesanti...
-
Qui c'è quello che cerchi:
-
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
-
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]
-
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.
-
-
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...xDDComunque, grazie mille a tutti...
Ciao,
Simone
-
Molto meglio la tua scelta.
Saluti,_Marco.