Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Scrivere su un file

  1. #1

    Scrivere su un file

    Vorrei scrivere su un file nella posizione che gli dico io e senza cancellare quello che viene dopo.
    Cioè, se ho un file di 20 caratteri, voglio fare in modo di scrivere del testo dal decimo carattere senza cancellare i restanti 10.
    Ho provato con a+ , ma parte dalla fine del file. Mentre con r+ mi sovrascrive il testo che viene dopo.

    Come posso fare?

    Grazie.

  2. #2
    la migliore delle soluzioni che mi viene in mente è di spezzare il file in due parti, poi accodare la nuova parte alla fine del primo e rimettere insieme i due pezzi! in pratica:

    Codice PHP:
    $file file_get_contents('file.txt'); // inserisce il contenuto di FILE.TXT nella stringa $file
    $pos=11// punto da cui inserire un testo $text
    // dato che una stringa è un array, inserisco i primi pos-1 caratteri in un array
    $array1 = array();
    for (
    $i=0$i<$pos$i++)
       
    $array1[$i] = $file[$i];
    // inserisco il resto in un altro array
    $array2 = array();
    for (
    $i=$pos+1$i<count($file); $i++)
       
    $array2[$i] = $file[$i];
    // accodo ad $array1 $text
    for ($i=0$i<count($text); $i++)
       
    array_push($array[1], $text[$i]);
    // accodo ad $array1 $array2
    for ($i=0$i<count($array2); $i++)
       
    array_push($array[1], $array2[$i]);
    // Crea una unica stringa di testo
    $text NULL;
    for (
    $i=0$i<count($array1); $i++)
      
    $text .= $array1[$i];
    // cancello il file 'file.txt', lo ricreo e ci inserisco $text
    unlink('file.txt');
    $handle fopen('file.txt''w');
    chmod('file.txt'777);
    fwrite($handle$text);
    fclose($handle); 

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 © 2024 vBulletin Solutions, Inc. All rights reserved.