Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    estrarre stringhe da file di testo

    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

  2. #2
    Se ogni riga del file di testo corrisponde ad un indirizzo, č semplice

    Codice 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); 
    Forse la funzione file non necessita nemmeno l'apertura del file, ma non mi ricordo. cosė funziona di sicuro

  3. #3
    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!

  4. #4
    ok, č un po' pių laborioso ma si puō fare comunque

    Nell'array cerchi le righe che ti interessano

  5. #5
    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.

  6. #6
    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

  7. #7
    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";

    }


    ?>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.