Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Selezionare un valore da un file di testo

    salve a tutti ho un piccolo problema:
    Ho la necessità di far inserire ad un utente una serie di file sul server, analizzare il file ed estrarre alcuni valori dai file caricati.
    Ho già creato la pagina per l'upload del file ma adesso non riesco a selezionare i valori. Mi spiego meglio:
    questa è una parte del file

    __________________

    [L1C.ndi]
    Characteristics = 0x84
    BusType = 5 ;PCI
    AddReg = L1C.reg, L1C.params, Common.params, ShutOff.params, WOLDefault.params
    CopyFiles = L1C.CopyFiles
    *IfType = 6 ; IF_TYPE_ETHERNET_CSMACD
    *MediaType = 0 ; NdisMedium802_3
    *PhysicalMediaType = 14 ; NdisPhysicalMedium802_3

    [L1C.ndi.HW]
    Include = machine.inf
    Needs = PciASPMOptOut
    Addreg = Msi.Addreg

    _________________________________

    adesso io ho bisogno di prendere il valore di "Needs" cioè "PciASPMOptOut" ed inserirlo su una seconda pagina ma non riesco a farlo...
    inoltre dovrei anche trovare, sempre dentro il file, tutti i valori che iniziano con "pci" mi date una mano???

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    supponendo il file si chiami "config.ini" (pare sia un formato ".ini"...) potresti provare con:

    Codice PHP:
    $dati parse_ini_file("config.ini"true); 
    a questo punto $dati e un array associativo, prova a stamparlo con print_r($dati);... per recuperare il campo che dici, p.es.: $val = $dati['L1C.ndi.HW']['Needs']... per i dati che iniziano con "pci" spiega meglio, ma in generale puoi iterare con foreach

  3. #3
    Allora il file e un .inf... per i valori che iniziano con "pci" voglio dire che all'interno del file ci sono una decina di valori che iniziano con "pci" ad es.
    "PCI\VEN_1969&DEV",
    "PCI\VEN_1969&DEV_1063&SUBSYS_83041043&REV_C0"
    "PCI\VEN_1245&DEV_203&SUBSYS_C0" ecc.
    Io ho bisogno di prendere quel valore e inserirlo su un altra pagina;
    per adesso ho fatto leggere il file rigo per rigo e inserire il tutto dentro un array utilizzando
    codice:
    $testo=file("oem1.inf")
    quindi a video ho il seguente rigo:
    %ATHR.L1C% = L1C.ndi, PCI\VEN_1969&DEV_1063&SUBSYS_10631969&REV_C0
    il problema e che non so come togliere tutto il resto del rigo e prendere solo la parte che inizia con "pci".
    Ho già tutto il resto pronto mi sono bloccato su quest' ultima parte.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    mah... ho postato un'ipotesi di soluzione come file ".ini"... non l'hai verificata? semplificherebbe di moltissimo...

  5. #5
    Si certo ho provato ma non funziona.
    adesso sto cercando una soluzione provando a dividere il testo all'interno di un array:
    "%ATHR.L1C% = L1C.ndi, PCI\VEN_1969&DEV_1063&SUBSYS_83FE1043&REV_C0 ; ASUS"
    questa è una array di tante che ottengo, se riesco a dividere ogni blocco in un array forse riesco a venirne a capo.

  6. #6
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    alora gli ini hanno un loro formato e la fuzione parse_ini ti consnete di tradurre tale formato in opportuna struttura dati.

    In alternativa la soluzione file() con successivo foreach non dovesti avere alcun problema.

    1- scorri tutte le righe lette dalla procedure file()
    2- compara la stringa con strpos o preg_match e se trovi "needs" come prima sottostringa
    2.1- explode della stringa rispetto "=" esegui trim sulla seconda cella
    2.2- hai trovato il valore restitusicilo !!

    As easy as that.

  7. #7
    Ragazzi niente in quel modo non ne riuscivo a venire a capo...
    veniva stampato un carattere e poi sotto l'altro.
    mentre provando con questo codice tutto funziona come volevo io:

    Codice PHP:
    <?php 
    $file 
    file_get_contents("oem1.inf"); 
    $file_s explode(" "$file); 
    $i count($file_s); 
    for(
    $a=0$a<$i$a++){ echo "<pre>$file_s[$a]</pre>";
     } 
    ?>
    adesso devo solo comparare se la stringa inizia con pci ed eliminare tutto il resto

    in ogni caso grazie

  8. #8
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    E cosa ho detto io sopra ? ......

    La soluzione e' questa.

  9. #9
    Si è quello che hai detto tu però con
    Codice PHP:
    $testo=file("oem1.inf"); 
    mi inseriva ogni carattere su un nuovo rigo.
    In ogni caso adesso ho un problema con la ricerca: se inserisco un solo carattere da ricercare allore il codice funziona mentre se ne metto 3 non funziona più.
    Codice PHP:
    <?php 
    $da_cercare   
    "PCI";
    $file file_get_contents("oem1.inf");  
    $file_s explode(" "$file);
    $i count($file_s);
    foreach (
    $file_s as $file_s1)
    {
        echo 
    "<pre>$file_s1</pre>";
    $mystring $file_s1;
    $findme   $da_cercare;
    $pos strpos($mystring$findme);
     if (
    $pos === false) {
        echo 
    " <pre>niente
    "
    ;
    } else {
        echo 
    "trovato '$mystring'
    "
    ;
        echo 
    " and exists at position $pos";
    }
    }
    ?>
    se al posto di
    Codice PHP:
    $da_cercare   "PCI"
    inserisco
    Codice PHP:
    $da_cercare   "P"
    allora tutto funziona però non riesco ad affinare la ricerca e naturalmente mi restituisce un bel po di stringhe che a me non servono.

  10. #10
    non c'è nessuno che mi riesce ad aiutare???

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 © 2024 vBulletin Solutions, Inc. All rights reserved.