ciao a tutti
dovrei creare un php che mi estrae tutti i mac address che sono scritti in un file di testo e mi restituisce una stringa per ognuno di essi.
questi sono nel formato xx:xx:xx:xx:xx:xx
qualche guru sa dirmi come posso fare?
grazie
ciao a tutti
dovrei creare un php che mi estrae tutti i mac address che sono scritti in un file di testo e mi restituisce una stringa per ognuno di essi.
questi sono nel formato xx:xx:xx:xx:xx:xx
qualche guru sa dirmi come posso fare?
grazie
Se ogni riga del file di testo corrisponde ad un indirizzo, č semplice
Forse la funzione file non necessita nemmeno l'apertura del file, ma non mi ricordo. cosė funziona di sicuroCodice PHP:
$fp = fopen("file_con_indirizzi_mac.txt", "a+"); //apri il file
$mac = file("file_con_indirizzi_mac.txt"); //hai creato un array ($mac) dove ogni valore corrisponde ad una riga del tuo file di testo
fclose($fp);
grazie della risposta.
purtroppo perō non č cosė semplice; il file da cui estrarre i mac address č un file di configurazione di un server dhcp che ha questo formato per ogni record:
# commento
host xxxx {
hardware ethernet xx:xx:xx:xx:xx:xx ;
fixed-address xxx.xxx.xxx.xxx;
}
grazie ancora!
ok, č un po' pių laborioso ma si puō fare comunque
Nell'array cerchi le righe che ti interessano
Apriti il file con file_get_contents(), e poi prova ad usare questa regex:
Codice PHP:
preg_match_all('/[0-9A-F]{2}(?::[0-9A-F]{2}){5}/i',$file,$matches);
print_r($matches[0]);
dA .. foto di viaggio
L'esperienza č il tipo di insegnante pių difficile.
Prima ti fa l'esame, e poi ti spiega la lezione.
ho utilizzato la soluzione di AnĒkin ,che funziona perfettamente , ma ora non so come devo estrarre i dati dall'array. il risultato puntando alla pagina web č:
Array ( [0] => 00:1C:10:6C:60:74 [1] => 00:1C:10:64:F0:A4 )
grazie ancora e scusate il disturbo , ma ancora non ho capito bene il funzionamento degli array , nonostante l'avere letto molte guide
sono riuscito a farlo,grazie a tutti.
partendo dall'idea di AnĒkin e trovando altre soluzioni in giro , ecco il risultato completo:
<?php
$file=file_get_contents("/etc/dhcp3/wireless.static");
$regexp='/[0-9A-F]{2}(?::[0-9A-F]{2}){5}/i';
preg_match_all("$regexp", $file, $matches);
for ($i=0; $i< count($matches[0]); $i++) {
echo $matches[0][$i]."\n";
}
?>