Leggere i file di una cartella ed il loro contenuto

dannythegreat

Nuovo Utente
1 Set 2009
4
0
0
Ciao a tutti, ragazzi mi sto sbattendo da una paio di giorni senza trovare una soluzione, non sono un esperto di php ma smanetto un po, in prati vi spiego il mio problema..
dovrei creare un codice che mi permetta di leggere dei file txt contenuti in una cartella e leggerne il loro contenuto, o meglio estrarre un valore da me impostato all'interno di questi file txt.
Nel mio caso il valore da estrarre è "online", e vorrei far si che venga incrementata una variabile++ per ogni valore trovato e darmi come risultato finale quanti "online" ha trovato.
Per darvi un'idea migliore di quello che voglio, guardate questa pagina ad ogni profile è associato un file di testo con tutte le sue informazioni, devo solo contare chi è online estraendo quel valore nel file di testo.
Una persona mi ha indicato questo codice ma non funziona
PHP:
$trova = "online";  // Aggiusta te con la giusta stringa corrispondente allo stato online 

// open the current directory by opendir 
$handle_dir=opendir("."); 

while (($file = readdir($handle_dir))!==false) { // Scorri tutti i files della directory 
   /* Note: If you're opening a URI with special characters, such as spaces, you need to encode the URI with urlencode().   
   */ 
   $content = file_get_contents($file, NULL); // E' una prova. Eventualmente devi aggiustare il percorso e il nome del file 
    
   if (stristr($content, $trova)) 
       $online_users = $online_users++; 
} 

closedir($handle_dir); 

echo "Gli utenti online sono $online_users";
Grazie mille in anticipo. Ciao
 
Ultima modifica:

Trogo

Utente Attivo
11 Gen 2008
370
0
0
43
Sanremo
Forse perchè come suggerito dal commento nel codice "Aggiusta te con la giusta stringa corrispondente allo stato online" se cerchi la stringa "<status>true</status>" in un file che contiene "online", non troverai mai nessuna corrispondenza
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
Prova così:

PHP:
<?php
$trova = "online";  // Aggiusta te con la giusta stringa corrispondente allo stato online 

// open the current directory by opendir 
$handle_dir = opendir("txt"); 

$online_users = 0;
while (($file = readdir($handle_dir))!== false) { // Scorri tutti i files della directory 
   /* Note: If you're opening a URI with special characters, such as spaces, you need to encode the URI with urlencode().   
   */
   //if ($file != "." && $file != "..") { 
	if (!is_dir($file)) { 
		$content = file_get_contents("txt/".$file, NULL); // E' una prova. Eventualmente devi aggiustare il percorso e il nome del file 
    
		if (stristr($content, $trova)) {
			$online_users++;
		}
   } 
} 

closedir($handle_dir); 

echo "Gli utenti online sono $online_users";  
?>

Nel mio esempio ho inserito i file .txt in una cartella chiamata "txt" che se vuoi puoi modificare allineando il codice.
 

dannythegreat

Nuovo Utente
1 Set 2009
4
0
0
PHP:
<?php 
$trova = "true";  // Aggiusta te con la giusta stringa corrispondente allo stato online  

// open the current directory by opendir  
$handle_dir = opendir("data");  

$online_users = 0; 
while (($file = readdir($handle_dir))!== false)  // Scorri tutti i files della directory  
   /* Note: If you're opening a URI with special characters, such as spaces, you need to encode the URI with urlencode().    
   */ 
   /*if ($file != "." && $file != "..") */
{  
    if (!is_dir($file)) 
	{  
        $content = file_get_contents("data/".$file, NULL); // E' una prova. Eventualmente devi aggiustare il percorso e il nome del file  
     
        if (stristr($content, $trova)) 
		 { 
            $online_users++; 
         }  
	} 
}

closedir($handle_dir);  

echo "Gli utenti online sono $online_users";   

?>

Cosi funziona perfettamente ho dovuto togliere una parentesi graffa che era in più perchè avevi nascosto l'if ed era rimasta fuori.
Calcola perfettamente i valori trovati grazie mille. :D
 
Ultima modifica:

dannythegreat

Nuovo Utente
1 Set 2009
4
0
0
Mi è venuta un'altra idea, praticamente vorrei far in modo che questo codice diventi una funzione e già l'ho fatto.. però vorrei far si che questa funzione si carichi solo alla fine del caricamento della pagina ... oppure si aggiorni automaticamente ogni tot minuti tipo ajax. Come posso fare? Grazie mille in anticipo ciao
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Leggere il contenuto di una cartella e memorizzare il nome file in mysql PHP 1
K Leggere contenuto di una cartella quando viene aperto il file PHP 6
L Leggere un file .txt tramite FTP e trascriverlo in una RichTextBox Visual Basic 0
S leggere da file e scrivere su file un carattere o una parola alla volta Visual Basic 1
S [C] Leggere i dati da un file e salvarli in una matrice Programmazione 1
P leggere i file in una sottodir PHP 6
2 Leggere una pagine che è nei file temporanei HTML e CSS 1
G leggere file txt e stampare con php il contenuto a video PHP 7
F Leggere e aggiornare dati di campi <input text> su file di test PHP 0
felino Script PHP per leggere un file JSON. autenticazione? PHP 4
C Leggere dati File.XMLcon PHP XML 11
I [Javascript] Leggere "var" da file .js esterno (per google map) Javascript 6
H Interpretare e leggere il file log di sfc/scannow. Windows e Software 0
P leggere file .csv con javascript/jquery Javascript 11
Monital Leggere un file php contenente dati json PHP 10
Trapano Leggere un file .txt dal fondo PHP 7
Francesco Polese Leggere linea da un file ed eliminarla PHP 2
F Leggere file contenuti in cartella e modificarne il nome PHP 3
M Leggere dati da file excel in base al nome del foglio di lavoro PHP 0
napuleone type="file" leggere con js Javascript 3
M Leggere file di grandi dimensioni Java 2
D leggere il contenuto di un file di testo in un file .JS Javascript 11
L file. leggere dall'ultima riga alla prima PHP 1
L [c++] Problema leggere file txt riga per riga C/C++ 0
Trapano [risolto] Leggere da un file txt in ordine inverso PHP 2
F leggere file xls Classic ASP 0
neo996sps [risolto] Usare PHP per leggere da file XML PHP 3
M leggere determinati punti di un file txt PHP 2
M Problema leggere su file di testo remoti PHP 11
E Leggere file tramite FTP/TLS PHP 11
A Leggere file txt e azioni su form PHP 1
G leggere file xml su server remoto Ajax 0
F Leggere e salvare caratteri da file di testo PHP 2
L leggere file xml dove i tag sono del tipo <stringa:altra_stringa> PHP 0
L leggere un file xml XML 1
L word: leggere i file temporanei Windows e Software 1
LaKanka Leggere dati da file xml PHP 19
F leggere file txt zippato su altro server, come fare ? PHP 4
N leggere/sostituire/restituire file txt PHP 1
T Leggere file in directory e sottodirectory con ASP Classic ASP 3
Vale1976 leggere file da altro pc in rete PHP 2
S [VB.net 2005] Leggere file di testo come un database Programmazione 0
E Leggere file txt da altro server Classic ASP 4
G Leggere file testo lato client Javascript 1
M Leggere in un report il valore di una casella combinata di una maschera Database 0
otto9due Leggere valore da array multidimensionale a chiavi dinamiche PHP 1
D PHP leggere cartella di Windows PHP 1
S Leggere dati da API e visualizzarli PHP 0
elpirata Query per leggere dati da una tabella mysql e mostrarli a video in base a parametri passati tramite GET PHP 5
maxbossi Attenzione alle TRUFFE: Leggere attentamente!!! Annunci servizi di Social Media Marketing 0

Discussioni simili