Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. 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


"L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe mai una trappola per topi." A. Einstein
PM
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1704
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");





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 :)


"L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe mai una trappola per topi." A. Einstein
PM