Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    108

    Eliminazione riga di un txt

    Ciao ragazzi, chiedo il vostro aiuto per un problema abbastanza banale.
    Ho già cercato sia in questo ed in altri forum, ma non sono riuscito a risolvere :\
    Ho un file txt che utilizzo come piccolo db, nel quale inserisco valori del tipo:
    Nome:::URL:::Prezzo::escrizione
    Nome:::URL:::Prezzo::escrizione
    Nome:::URL:::Prezzo::escrizione
    Naturalmente tutti diversi. Vorrei che, inserendo in un form il nome (del prodotto in questo caso) si cancellasse la riga corrispondente.
    Non so proprio dove andare a parare, ho scritto solo questo:
    Codice PHP:
    <?php
    $nome_prodotto 
    $_POST["nome_prodotto"];

    if(
    $nome_prodotto == ''){
        echo 
    "Errore, compila tutti i campi.";
        exit;
    }
    else{

        
    $lines file("vetrina.txt"); 
        
    $n_lines count($lines); 
        
    }
    ?>
    Grazie mille in anticipo =)

  2. #2
    Premetto che usare un db ti semplificherebbe la vita. Detto ciò:

    Codice PHP:
    <?php

        $nome_prodotto 
    $_POST["nome_prodotto"];
        
    $found false;
        
    $out_stream = array();

        if(
    $nome_prodotto == "") die ("Errore, compila tutti i campi");
        else {
             
             
    $handle = @fopen("vetrina.txt""r");
             if (
    $handle) {
       
                  while (!
    feof($handle)) {
                       
                       
    $line fgets($handle,4096);
                       if (
    stristr($line$nome_prodotto) == false) { $out_stream[] = $line; }
                       else { 
    $found true; }
      
                  }
                  
    fclose($handle);
             }
             else die (
    "Errore, il file 'vetrina.txt' non esiste!");
             
             if (
    $found == true) {

                  
    unlink ("vetrina.txt");
                  
    $new fopen("vetrina.txt","w+");
                  foreach (
    $out_stream as $value) { fwrite($new$value."\n"); }
                  
    fclose($handle);
                  echo 
    "Prodotto cancellato!";
             }
             else die (
    "Il nome del prodotto non è stato trovato");
        }
    ?>
    V.I.S.T.A. --> Virus Inside, Switch To Apple

  3. #3
    Codice PHP:
    function cancella($nome) {
        
    $contents file_get_contents('vetrina.txt');
        
    $contents preg_replace("/^$nome.*\n/m"''$contents);
        
    file_put_contents('vetrina.txt'$contents);
    }

    cancella('Nome2'); 

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    108
    Grazie mille ad entrambi!! Sono riuscito a risolvere =D

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.