Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499

    Eliminare una determinata riga da txt

    Ho un file di testo che viene compilato in questo modo

    titolo::genere::1.mp3::coments::Simone::1
    titolo::genere::2.mp3::commento 1::Simone::1

    Come posso eliminare una determinata riga, tenendo presente che l'mp3 è un numero univoco?
    Io visualizzo le righe con un ciclo for ed ognuna sarà un form con il tasto elimina.
    Non riesco a capire come fargli leggere il file, eliminare quella riga che contiene quel mp3 e riscrivere il tutto.

  2. #2
    leggi il testo in una variabile,poi con un explode con pattern "\n" splitti x ogni riga,e così avrai un array....ora cancelli la riga ke ti interessa... ad esempio: variabilees[1]=""; poi riunisci con un implode...e salvi...

    Forse c'è un modo + facile...quindi aspetta altre risposte....

  3. #3
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    a logica sermbra funzionare...
    hai anche il codice per caso?
    Più che altro la parte dell'implode.

  4. #4
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    uppete
    A parte gli scherzi nessuno conosce un altro modo, se esiste?

  5. #5
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Codice PHP:
    $lines file("music/webradio.txt");
            
    $n_lines count($lines); 
            for(
    $c 0$c<$n_lines$c++)
            {
                
    $dati explode("::"$lines[$c]);
                unset(
    $lines[2] == $_POST['mp3']);
            }
            
    $dati implode("\r\n"$dati);
            
    $fp2 fopen($dati"w");
            
    fclose($fp2); 
    Cosa c'è che non va questo codice secondo voi?

  6. #6
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,035
    Codice PHP:
    $lines file("music/webradio.txt");
    $n_lines count($lines);
    for(
    $c 0$c<$n_lines$c++){
       
    $dati explode("::"$lines[$c]);
       unset(
    $lines[2] == $_POST['mp3']);
    }
    $dati implode("\r\n"$dati);
    $fp2 fopen("music/webradio.txt""w");
    fwrite($fp2,$dati);
    fclose($fp2); 
    innanzitutto fopen ($dati) che roba è? passi l'array alla fopen?
    comunque non capisco il codice all'interno del ciclo for... innanzitutto fai un explode e mai lo usi, poi all'implode passi $dati che a quel punto conterrà soltanto l'ultimo elemento dell'explode precedente.

    $_POST['mp3'] cosa contiene? tutta la stringa o solo una parte di essa?

  7. #7
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Originariamente inviato da Lak3d
    Codice PHP:
    $lines file("music/webradio.txt");
    $n_lines count($lines);
    for(
    $c 0$c<$n_lines$c++){
       
    $dati explode("::"$lines[$c]);
       unset(
    $lines[2] == $_POST['mp3']);
    }
    $dati implode("\r\n"$dati);
    $fp2 fopen("music/webradio.txt""w");
    fwrite($fp2,$dati);
    fclose($fp2); 
    innanzitutto fopen ($dati) che roba è? passi l'array alla fopen?
    comunque non capisco il codice all'interno del ciclo for... innanzitutto fai un explode e mai lo usi, poi all'implode passi $dati che a quel punto conterrà soltanto l'ultimo elemento dell'explode precedente.

    $_POST['mp3'] cosa contiene? tutta la stringa o solo una parte di essa?
    $_POST['mp3'] contiene solo la parte della stringa che corrisponde alla posizione [2] dell'array che mi permette di riconoscere la riga da eliminare.
    Con i file esterni ho un po di problemini

  8. #8
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    up

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.