Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - Come si fa a scrivere su file di testo cursore all'inizio ?
Forum - PHP - Come si fa a scrivere su file di testo cursore all'inizio ?

Avatar
-Cery- (Normal User)
Rookie


Messaggi: 33
Iscritto: 26/05/2010

Segnala al moderatore
Postato alle 20:20
Domenica, 21/11/2010
Ciao a tutti, vi volevo chiedere se c'è un sistema per posizionare il cursore all'inizio del file e scrivere lasciando quello che c'era già ?
Io uso:
Codice sorgente - presumibilmente Plain Text

  1. $variabilecontesto = fopen($db_testo, "a");


Ma me lo mette alla fine.
Se uso:
Codice sorgente - presumibilmente Plain Text

  1. $variabilecontesto = fopen($db_testo, "w");


Mi cancella quello che c'era già prima.
Aiuto :-?

Ultima modifica effettuata da -Cery- il 21/11/2010 alle 20:21
PM
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Up
1
Down
V
Segnala al moderatore
Postato alle 3:15
Lunedì, 22/11/2010
Esatto,
Ma aggiungendo il testo prima o dopo non conta tanto.

ti sovrascrive perchè come ha mostrato nell'esempio butta non hai tenuto in memoria il vecchio contenuto del file,

se vuoi puoi usare questa classe per facilitarti la cosa.

Codice sorgente - presumibilmente Php

  1. <?
  2.    //Scrive e riscrive il file se esiste
  3.    function write_file($filename,$newdata) {
  4.           $f=fopen($filename,"w");
  5.           fwrite($f,$newdata);
  6.           fclose($f);  
  7.    }
  8.  
  9.    //consente di aggiungere del testo ad un file esistente
  10.    function append_file($filename,$newdata) {
  11.           $f=fopen($filename,"a");
  12.           fwrite($f,$newdata);
  13.           fclose($f);  
  14.    }
  15.  
  16.    //Consente di leggerti un file esistente
  17.    function read_file($filename) {
  18.           $f=fopen($filename,"r");
  19.           $data=fread($f,filesize($filename));
  20.           fclose($f);  
  21.           return $data;
  22.    }
  23.  
  24.  
  25.   //La funzione di a_butto per posizionarti a capo
  26.   function frist_append($filename,$newdata) {
  27.  
  28.   $TestoOriginarioDelFile = file_get_contents($tuofile);
  29.   $TestoNuovoFile = $newdata . "\n" .$TestoOriginarioDelFile;
  30.   file_put_contents($tuofile,$TestoNuovoFile);
  31.    }
  32.  
  33. ?>



puoi usarla in questo modo

Codice sorgente - presumibilmente Delphi

  1. include "funzioni_per_file.php";
  2.  
  3.   //create un file
  4.   write_file("test.txt","file Prova\n");
  5.  
  6.  
  7.   //per aggiungere in fondo
  8.   append_file("test.txt","Testo accodato\n");
  9.  
  10.  //per aggiungere in cima
  11.   frist_append("test.txt","Testo accodata in cima\n");





https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM
Avatar
a_butta (Member)
Expert


Messaggi: 578
Iscritto: 16/03/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 21:43
Domenica, 21/11/2010
Non ti conviene semplicemente leggere tutto il contenuto del file tramite la funzione file_get_contents(string $filename) e riscriverlo con la funzione file_put_contents(string $filename, mixed $data)?
Intendo una cosa di questo genere:
Codice sorgente - presumibilmente Plain Text

  1. <?php
  2. $TestoDaAggiungere = "Tuo Testo";
  3. $TestoOriginarioDelFile = file_get_contents($tuofile);
  4. $TestoNuovoFile = $TestoDaAggiungere."\n".$TestoOriginarioDelFile;
  5. file_put_contents($tuofile,$TestoNuovoFile);
  6. ?>


Ultima modifica effettuata da a_butta il 21/11/2010 alle 21:46
PM
Avatar
-Cery- (Normal User)
Rookie


Messaggi: 33
Iscritto: 26/05/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 20:44
Martedì, 23/11/2010
Grazie a tutti :)

PM