Visualizzazione risultati 1 fino 7 di 7

Discussione: Lettura di un file esterno .txt

  1. #1
    Guest

    Angry Lettura di un file esterno .txt

    Salve.

    Sto cercando di estapolare dei dati da un file con estensione .txt per poi salvarli in un database.

    Fino a quando il file era interno tutto bene ma i problemi sono sorti appena il file è diventato esterno. Ho la neccessità di utilizzare quello esterno perchè esso viene aggiornato costantemente da un'altro sito.

    Il file txt si trova in questa forma
    $var1,$var2,$var3,$var4
    e ogni istanza e suddivisa da un semplice ritorno a capo.

    Seguendo varie guide sono arrivato a sbloccare nelle impostazioni connessioni Server to Server le limitazioni della whitelist con un messaggio per colpa dei vari usi scorretti di tali file esterni.

    Ora teoricamente potrei utilizzare la funzione fsockopen() di php o le librerie cURL.

    Sono partito, con il consiglio delle guide, con le libreie cURL ma ho trovato un errore di fondo: queste librerie non fanno altro ke copiare il codice sorgente del file.txt quindi non vengono considerati i ritorni a capo.

    Cosiche mi imbatto nell'errore

    $var1,$var2,$var3,$var4$var1

    Cioè mi ritrovo il testo di $var4 della prima istanza concatenato a $var 1 della seconda istanza.

    A questo punto ho provato la funzione fsockopen() ma non riesco a copiare il contenuto del file in un array
    Ecco il codice:

    Codice PHP:
    <?php

    $fpv
    = fsockopen("http://SITOESTERNO/FILE.txt");

    $dati = file($fpv);

    echo
    $dati;
    ?>
    In questo modo non mi stampa niente.

    L'errore non è nella connessione del file esterno perchè con le librerie cURL ho stampato a video l'intero file ma con l'errore di concatenare le due variabili.

    C'e una soluzione? Qualcuno potrebbe suggerirmi il da fare? Sia che funzioni in un modo o nell'altro?

    Grazie in anticipo.

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Non ho capito bene il fatto dei ritorni a capo. In ogni caso, prova ad utilizzare direttamente la file(), i.e.:

    Codice PHP:
    $dati = file('http://SITOESTERNO/FILE.txt');
    Ciao!

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Non ho capito bene il fatto dei ritorni a capo. In ogni caso, prova ad utilizzare direttamente la file(), i.e.:

    Codice PHP:
    $dati = file('http://SITOESTERNO/FILE.txt');
    Ciao!
    Mi spiego meglio con un esempio del file:

    supponiamo che nel file ci siano queste 3 istanze

    rosso,10,20,uno
    blu,15,30,due
    giallo,80,78,quattro

    con cURL vado a salvare in una variabile

    rosso,10,20,unoblu,15,30,duegiallo,80,78,quattro

    perdendo quindi la separazione delle varibili con la virgola (,)

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Occhio che se stampi un \n nel codice html, non lo visualizzerai nella pagina!
    Se scrivi:
    Codice HTML:
    ciao
    Questo è un ritorno a capo.
    Nella pagina, interpretata da un browser, vedrai:
    ciaoQuesto è un ritorno a capo.
    Utilizzando invece (ad esempio) la nl2br() otterrai:
    Codice HTML:
    ciao<br>Questo è un ritorno a capo.
    quindi:
    ciao
    Questo è un ritorno a capo.
    In ogni caso, non ha senso usare la file() e dare come argomento quello che ritorna la fsokopen.

    Ciao!
    Ultima modifica di alemoppo : 06-05-2013 alle ore 22.09.47 Motivo: [code] -> [quote]

  5. #5
    Guest

    Predefinito

    Sono andato in palla oggi...

    Quindi per leggere un file esterno txt riga per riga come potrei fare?
    Ultima modifica di suzuka90 : 07-05-2013 alle ore 00.34.19

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Citazione Originalmente inviato da suzuka90 Visualizza messaggio
    Quindi per leggere un file esterno txt riga per riga come potrei fare?
    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Codice PHP:
    $dati = file('http://SITOESTERNO/FILE.txt');
    Ti restituisce un array.

    Ciao!

  7. #7
    Guest

    Predefinito

    Ok, problema risolto! Grazie mille

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •