aggiungere stringa all'inizio di ogni riga di un file txt

AndreaCerre

Utente Attivo
7 Giu 2020
55
0
6
Ciao a tutti,
avrei bisogno di un aiuto:
dovrei aggiungere una determinata stringa, es "0000001" all'inizio di ogni riga di un file txt che creo con lo script php postato qui sotto.
Il file viene creato da un alto file txt a record multipli ma da quello sono già riuscito a creare il nuovo file txt, mi manca solo riuscire ad aggiungere un campo
all'inizio da utilizzare come indice.

Questo è il FILE .TXT creato:

38023207 ,000000,000000,0,
38023207 ,000000,000000,0,
38023207 ,000000,000000,0
,


Questo lo script:

Codice:
$fp = fopen("fileinputprova/". $userfile_name,'r'); //Apro il file prova.txt in lettura, lo creo se non esiste

    //definisco le variabili per i file temporanei
    $name000 = "fileoutputprova/n000.txt";   
    $handle000 = fopen($name000,"w+");
    $dim000 = array(9,6,6,1);
    
    $index = 0;
    $lines = file("fileinputprova/". $userfile_name);

    foreach ($lines as $line_num => $line) {

    $sottstrin = substr($line,24,3);
    switch ($sottstrin) {

    case "000" :
    //"Record 000 - INTESTAZIONE EDR{
    
    for ($i = 0; $i < count($dim000); $i++) {
                    
                    $field = str_pad (rtrim(substr($line,$index,$dim000[$i])," +"),$dim000[$i]," ",STR_PAD_RIGHT).",";
                    fwrite($handle000,$field);
                    $index += $dim000[$i];
                    }
                fwrite($handle000,"\r\n");
                $index = 0;
    break;
    
    default : break;

}
}

fclose($handle000);

fclose($fp);
 
Ciao, ma la variabile $userfile_name fa riferimento a quale file? prova.txt oppure file.txt, se diversa da file.txt qual'è il suo contenuto?

$fp = fopen("fileinputprova/". $userfile_name,'r'); //Apro il file prova.txt in lettura, lo creo se non esiste
 
La variabile $userfile_name si riferisce al file originale a record multipli,mi serve solo per visualizzare i dettagli del file di input.

Il mio problema è nell' aggiungere la stringa all'inizio di ogni riga al file di output che per precisione si chiama n000.txt
 
Grazio ho risolto aggiungendo : fwrite($handle000,$idfileedr.";");


Codice:
$sottstrin = substr($line,24,3);
    switch ($sottstrin) {
    
    case "000" :
    //"Record 000 - INTESTAZIONE EDR{
    fwrite($handle000,$idfileedr.";");
    for ($i = 0; $i < count($dim000); $i++) {
                    
                    $field = str_pad (rtrim(substr($line,$index,$dim000[$i])," +"),$dim000[$i]," ",STR_PAD_RIGHT).",";
                    fwrite($handle000,$field);
                    $index += $dim000[$i];
                    }
                fwrite($handle000,"\r\n");
                $index = 0;
    break;
    
    default : break;

}
}

fclose($handle000);

fclose($fp);
 

Discussioni simili