Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833

    Non riesco a leggere piu' righe da un txt

    Ciao a tutti, volevo chiedervi come mai non riesco a leggere piu' righe da un file.txt.
    La funzione e' semplice dovrei leggere da un file .txt l'indirizzo mail di ogni riga e spedire
    a questi indirizzi una mail. Solo che inviando o stampando i valori esce sempre solo l'indirizzo della prima riga, e in piu' non esce dal ciclo di lettura quando es. la 4 riga e' blanks, ma
    va avanti fino a farmi uscire un errore di tempo massimo di esecuzione script scaduto.

    posto il codice:

    if ($invia=="1") {
    $oggetto= $_POST['oggetto'];
    $messaggio= $_POST['messaggio'];
    $headers= $_POST['miamail'];

    $news=fopen("doc.txt","r");
    while (!feof($news)) {
    $buffer = fgets($news, 100);
    list ($mail) = split ('[|]', $buffer);
    if (eregi("@", $mail)) {
    mail($mail, $oggetto, $messaggio, "From: $headers" );
    }
    fclose ($news);

    Nel doc news.txt ci sono tre righe
    indirizzo1@prova.it | nome | congnome.
    indirizzo2@prova.it | 2nome | 2congnome.
    indirizzo3@prova.it | 3nome | 3congnome.

    Quindi pensavo che il ciclo mi estrapolasse l'indirizzo per ogni riga ma evidentemente
    non e' cosi?

    Ciao grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    85
    il file da leggere si chiama doc.txt o news.txt?

  3. #3
    Il tuo codice postato, un po' formattato:
    Codice PHP:
    if ($invia=="1") {
        
    $oggetto$_POST['oggetto'];
        
    $messaggio$_POST['messaggio'];
        
    $headers$_POST['miamail'];

        
    $news=fopen("doc.txt","r");
        while (!
    feof($news)) {
            
    $buffer fgets($news100);
            list (
    $mail) = split ('[|]'$buffer);
            if (
    eregi("@"$mail)) {
                
    mail($mail$oggetto$messaggio"From: $headers);
            }
            
    fclose ($news); 
    Non manca qualcosa?
    Ci sono 3 graffe aperte ma una sola chiusa.
    Apparentemente c'è una fclose dentro al ciclo while che legge ...

    Posta un po' di codice in più!

    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    833
    Scusa il ritardo. Hai ragione avevo messo il close dentro al secondo ciclo.
    Grazie

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.