Newsgroup: it.comp.www.php
Titolo: list directory file secondo criteri

Ciao a tutti.
Grazie al manuale php (funzione readir) riesco ad elencare in una
pagina web il contenuto di una directory.
Non riesco a trovare però cosa mi permette di elencare i file che
contengono determinati caratteri,
Tipo solo i file che contengono la scritta "rom".
Che funzione posso usare?
Grazie mille..
Lo script che uso:
<?php
if ($handle = opendir('/opt/dir')) {
   while (false !== ($file = readdir($handle))) {
       if ($file != "." && $file != "..") {
         echo "$file<br>";
       }
   }
   closedir($handle);
}
?>

 
$file è la stringa che contiene il nome del file.
Ti basta verificare che la posizione della sottostringa ricercata sia 
strettamente diversa da 0
http://www.php.net/manual/en/function.strpos.php
http://www.php.net/manual/en/function.strripos.php
se conosci la posizione (ad esempio: gli ultimi 3 caratteri)
puoi usrae invece l'uguaglianza con il risultato di substring.
es:
if (substr($string, -3)==$rom) {
	echo "l'estensione di $string è ".substr($string, -3);
} else {
	echo "non corrisponde";
}
non testato, spero ti sia d'aiuto.
Ciao
-- 
l'astronave da 300 punti di space invaders
i fumetti di zora, la vampira porno e la prinz senza ritorno
anna oxa a sanremo conciata come una punk londinese
il toblerone, qualcuno sa perche'

Sei stato gentilissimo ma purtroppo la stringa in questione è
variabile (come posizione) all'interno del nome del file
:)
Grazie mille cmq

 variabile (come posizione) all'interno del nome del file
Come ti č stato precedentemente detto:
Ti basta verificare che la posizione della sottostringa ricercata sia 
strettamente diversa da 0
http://www.php.net/manual/en/function.strpos.php
http://www.php.net/manual/en/function.strripos.php
Ciao

Si, ok Davide.
Ma io non so in che posizione (come numero intendo) si trova.
so solo che nella lista dei file c'è scritto "rom" in maniera random.
tipo:
daviderom
romdavide
davromide
davide
david
...
io devo elencare solo i file con la parola rom nel loro interno.
Cheers.

 io devo elencare solo i file con la parola rom nel loro interno.
[..]
leggere il manuale e' sempre cosa buona 
http://php.net/strpos
se cerchi una stringa con strpos() e la stringa non viene trovata viene
restituito FALSE.. quindi..
if (strpos($haystack, $needle) === FALSE) {
  echo "Stringa non presente!<br />";
}
-- 
www.iuz-lab.info

 
Fossi in te rileggerei meglio tutto quanto ti è stato consigliato.


 strettamente diversa da 0
[..]
diversa da FALSE non da 0..
la posizione 0 puo' essere valida..
-- 
www.iuz-lab.info

davvero mi son perso (rileggendo i manuali di tutti i tipi di str*)
in shell il risultato che serve a me sarebbe:
ls -l /opt/dir | grep -i rom
E' così semplice..
:(


allora usa le funzioni per le espressioni regolari...


 
Vero, scusate se ho indotto all'errore.


 
ma non e' necessario..
e' un'operazione semplice e sinceramente non capisco cosa sfugge a Davide..
-- 
www.iuz-lab.info

stò prendendo altre strade.. davvero non comprendo.
Grazie cmq del tempo dedicatomi
:)

prova glob
http://it2.php.net/manual/it/function.glob.php
<?php
foreach (glob("*.txt") as $filename) {
   echo "$filename size " . filesize($filename) . "\n";
}
?> 
ciao