Visualizzazione risultati 1 fino 5 di 5

Discussione: Scrivere all' inizio del file invece che alla fine con a+

  1. #1
    Guest

    Predefinito Scrivere all' inizio del file invece che alla fine con a+

    Come posso fare si che il testo che scrivo con a+ venga scritto in cima invece che alla fine?

    ecco il codice dove uso a+

    Codice PHP:
    <?php
    $art
    =$_POST['art'];
    $string = "$art";
    $f = fopen("articolo.html", "a+");
    fwrite($f, $string);
    fclose($f);
    ?>
    Ultima modifica di MasterBastard : 30-12-2013 alle ore 23.23.42

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

    Predefinito

    è ormai troppo tempo che non uso più fopen().

    Puoi far quello che vuoi, aprendolo in modalità r+, oppure con fseek() (o rewind() nel tuo caso specifico) spostando il cursore all'inizio del file (però non ricordo se sovrascrive i caratteri o li aggiunge, dovresti provare: magari con "a+" e fseek() o rewind() non si sovrascrivono).

    Ora, è molto più facile tramite le funzioni file_get_contents() e file_put_contents()

    Codice PHP:
    <?php
    $file
    = file_get_contents('testo.txt');
    $nuovo_file = $da_aggiungere.$file;
    file_put_contents('testo.txt', $nuovo_file);
    ?>
    o, in modo più compatto:

    Codice PHP:
    file_put_contents('testo.txt', $da_aggiungere.file_get_contents('testo.txt'));
    Ciao!
    Ultima modifica di alemoppo : 31-12-2013 alle ore 00.41.37

  3. #3
    Guest

    Predefinito

    Non ho come fare con file get contents e go provato con fseek ma non va a capo ecco il codice:

    Codice PHP:
    $string = "Testo...";
    $f = fopen("articolo.html", 'r+');
    fseek($f, 0, SEEK_END);
    fwrite($f, $string);
    fclose($f);

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

    Predefinito

    Non ho capito che hai scritto.

    Comunque, nel codice che hai scritto, hai aperto il file posizionando il cursore all'inizio (modalità "r+"). Poi con la fseek hai posizionato il cursore alla fine , e hai scritto: è normale che ti abbia scritto alla fine del file!

    Rileggi con più attenzione il mio messaggio sopra.

    Ciao!

  5. #5
    Guest

    Predefinito

    Grazie, ho letto piu attentamente e ho capito, scusa se avevo scritto male ma ero stanco. Il codice funziona. Grazie ancora

Regole di scrittura

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