Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2015
    Messaggi
    10

    Scrivere ad inizio file fopen()

    Ciao a tutti, ho un file .txt creato con la funzione fopen(path_file , 'w+') e adesso dopo averci scritto del contenuto tramite il comando fwrite() volevo scrivere all'inizio di questo file senza sovrascriverlo:


    Codice PHP:
    $file fopen(dirname(__FILE__).'/FileXMLGenerated/prova'"w+");
    fwrite($file'ciao ciao');
    fclose($file);
    $file fopen(dirname(__FILE__).'/FileXMLGenerated/prova' 'r+');
    fwrite($file'righe da inserire ad inizio del file');
    fclose($file); 
    Il problema è che con il secondo fopen() mi cancella il contenuto del file. Quindi nel mio file .txt avro solo questa riga inserita:
    'righe da inserire ad inizio del file'Come posso fare?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Devi necessariamente leggere il contenuto del file esistente, appendere tale testo di seguito a quello che vuoi scrivere all'inizio e riscrivere interamente il file esistente.
    Una cosa così
    Codice PHP:
    $testo "Testo da inserire all'inizio\n";

    $testo .= file_get_contents('file.txt');

    file_put_contents('file.txt'$testo); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2015
    Messaggi
    10
    In realtà così il tempo computazionale inizia a farsi sentire per file molto grandi (come il mio).
    Non esiste davvero un altro modo per poter scrivere ad inizio del file?
    Mi sembra una cosa così strana che php non possa fare semplici comando come questo!!

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    "semplice" lo è dal tuo punto di vista.
    Cosa dovrebbe fare tale "comando"?
    Un comando che faccia ciò che chiedi dovrebbe prendere il file, spostare in avanti di quanto basta ciò che già c'è scritto per inserire la tua stringa ed aggiungere la stringa... il che equivale a leggere e riscrivere tutto il file, quindi esattamente ciò che fanno quelle righe di codice che ti ho scritto, una tale funzione sarebbe inutile.

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.