a me è venuta in mente una cosa di questo tipo, sicuramente migliorabile
Codice PHP:
<?php
/* source.txt contiene i seguenti valori
riga 1
riga 2
riga 3
riga 4
riga 1
riga 2
riga 3
riga 4
riga 1
*/
$source = "source.txt"; //file sorgente
$max = 4; //numero di campi per riga in output
$string_out = ""; //stringa per gestione output
echo "<pre>";
$file = file_get_contents($source); //prende il contenuto del file
$expl_source= explode("\n", $file); //divide il contenuto per righe
//(attenzione al parametro, può essere \n o \r\n
//a seconda del sistema operativo
$i = 1; //contatore
foreach($expl_source as $value) { //scorre i valori
if ($i == $max) { //se i è uguale al numero di campi per riga vado a capo
$del = "\r\n";
$i = 0; //resetta i
}
else { //se i è diverso dal numero di campi per riga inserisce uno spazio
$del = " ";
}
$string_out .= $value . $del; //compila la stringa di output
$i++; //incrementa i ad ogni ciclo
}
echo substr($string_out, 0, -1 ); //prima di stampare a video, toglie l'eventuale
//carattere in più
echo "\r\n--- finito ---";
?>