Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: Leggere file

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2014
    Messaggi
    249

    Leggere file

    Come posso fare se voglio leggere un file con PHP? Se il nome del file fosse "statico" (ad esempio, file.txt) non ci sarebbero problemi ma siccome il nome è variabile (export_numeriacaso.txt) come posso fare?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Suppongo che ci siano diversi file con questi nomi nella stessa cartella, giusto?

    Devi sapere il nome del file, oppure se sai che è l'ultimo creato puoi usare la funzione filetime() per sapere quale sia l'ultimo creato.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2014
    Messaggi
    249
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Suppongo che ci siano diversi file con questi nomi nella stessa cartella, giusto?
    …no, creo una cartella specifica per il file .txt che devo leggere…

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Allora se c'è solo un file dentro la cartella, recuperarlo non sarà difficile, ti fai una scansione della cartella in cerca di file e sarà l'unico che risulta in lista.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2014
    Messaggi
    249
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Allora se c'è solo un file dentro la cartella, recuperarlo non sarà difficile, ti fai una scansione della cartella in cerca di file e sarà l'unico che risulta in lista.
    …scan_dir() e poi fopen del risultato della prima funzione?

    A = scan_dir("directory");
    B = fopen("A","r+");
    Ultima modifica di mapa3n; 07-03-2017 a 15:00

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    A memoria penso che scan_dir() consideri file anche . e .. che vengono prima di qualsiasi altro file nella cartella, quindi probabilmente dovrai anche usare is_file() per scartare . e ..

  7. #7
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Usa glob("*.txt"), fai prima
    Sempre che ci sia solo un file txt da leggere...

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2014
    Messaggi
    249
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    A memoria penso che scan_dir() consideri file anche . e .. che vengono prima di qualsiasi altro file nella cartella, quindi probabilmente dovrai anche usare is_file() per scartare . e ..
    ...potrebbe funzionare?
    codice:
    $dir = "directory";$a = scandir($dir,1);
    $i = 0;
    while(is_file($a[$i])){
        $b = $a[$i];
        $i++;
    }
    $c = fopen($b,"r+");
    ...
    Ultima modifica di mapa3n; 07-03-2017 a 21:22

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2014
    Messaggi
    249
    …alla fine ho usato glob("*.txt) come mi è stato suggerito da clasku, tanto c'è solo un txt nella cartella…

    Adesso ho un altro problema, in questo file ho un numero indefinito di righe che, a partire dalla posizione 95, contengono un codice numerico di 11 cifre, vorrei leggere ogni riga e controllare che il codice sopracitato contenga effettivamente 11 cifre e, in caso contrario, aggiungere un 97 davanti tale codice, come posso fare?

  10. #10
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Per "indefinito" cosa intendi? Possono essere decine così come centinaia di migliaia?
    Se non prevedi un numero esagerato di righe potresti leggere il file con la funzione file() che praticamente ti genera un array in cui in ogni entry c'è una riga del file, così è facile ciclare tra le righe e modificarle per poi risalvare il file in formato txt.

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.