Comunque dato che secondo me non ha molto senso parlare senza lavorare, ti ho fatto un piccolo esempio alla veloce ho preso un paio di script dal manuale di PHP ed uno script dal web per la tabella, una cosa molto veloce, quindi ovviamente ci devi studiare e te la devi gestire, la tabella devi intestarla nella th mette la prima riga devi mettere tu dei campi titolo, ma proprio una cosa veloce, ho creato un file testo.txt con i tuoi valori, ed un file testo.csv VUOTO dove vado a salvare il CSV....
Hai tutte le variabili ed anche tabellate con 20 minuti di lavoro :)
Ovviamente la tabella la crea per qualsiasi formato del TXT appena trova lo spazio inserisce il campo.
Ti metto il codice ed il link dove puoi dare un'occhiata, ovviamente è un debug e esempio di come ricavarsi tutte le variabili, devi solo gestirti il caso in cui la stringa non abbia lo spazio cioè ad esempio questa 999MARCO
Ciao lo tengo online per un paio di giorni l'esempio poi lo tolgo..
http://fractalcosmo.altervista.org/MvcWebLog/prove.php
il codice
Codice PHP:
<?php
//Legge il file di testo
$pathfile = 'testo.txt';
$fileObj = fopen( $pathfile, "rt" );
$array=array();
//Cicla il contenuto del file testo e rimpiazza gli spazi con le virgole, A DIRE IL VERO IL CSV VORREBBE I ;
//SAREBBE MEGLIO METTERE I PUNTI E VIRGOLA ;
while ( ( $line = fgets( $fileObj ) ) ) {
$replaceSpazi = preg_replace('/\s+/', ',', $line); ;
$array[]=$replaceSpazi;
}
//Apre il file CSV vuoto e ci spara dentro l'array di prima che non è altro che il .txt convertito in CSV
$file = fopen("testo.csv","w");
foreach ($array as $line){
fputcsv($file,explode(',',$line));
}
fclose($file);
//legge il file CSV e mette in un array i valori e fa il var_dump dell'array dei valori
$csvData = file_get_contents('testo.csv');
$lines = explode(PHP_EOL, $csvData);
$array = array();
foreach ($lines as $line) {
$array[] = str_getcsv($line);
}
//Non serve a niente l'implode ma lo lascio per SICUREZZA...Ahahahah
//$implode = implode(',', $lines);
//Tutti i valori in un array
print '<pre>';var_dump($array);print'<pre>';
//Recupera i valori dall'array e li printa andando a capo ad ogni campo
foreach ($array as $chiave){
foreach ($chiave as $valoreDati){
print $valoreDati .'<br>';
}
}
//PARI PARI DAL WEB NON FA ALTRO CHE PRENDERE IL CODICE DAL MANUALE IMPLEMENTANDOCI LA TABELLAZIONE
$row = 1;
if (($handle = fopen("testo.csv", "r")) !== FALSE) {
echo '<table border="1">';
while (($data = fgetcsv($handle, ",")) !== FALSE) {
$num = count($data);
if ($row == 1) {
echo '<thead><tr>';
}else{
echo '<tr>';
}
for ($c=0; $c < $num; $c++) {
//echo $data[$c] . "<br />\n";
if(empty($data[$c])) {
$value = " ";
}else{
$value = $data[$c];
}
if ($row == 1) {
echo '<th>'.$value.'</th>';
}else{
echo '<td>'.$value.'</td>';
}
}
if ($row == 1) {
echo '</tr></thead><tbody>';
}else{
echo '</tr>';
}
$row++;
}
echo '</tbody></table>';
fclose($handle);
}
//QUESTO E' PRESO PARI PARI DAL MANUALE LOL....
$row = 1;
if (($handle = fopen("testo.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num Campi nella riga $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
?>
Quando si dice la potenza del PHP... :) Ciao e buon lavoro...spero ti sia utile.
PS:Come vedi devi adattarlo io ho solo messo alla veloce lo stile di lavoro ma ad esempio come campi conta anche gli spazi vuoti quindi lì andrà gestito ovviamente, ma se hai inizio e fine delle righe cioè 111 e 999 diventa comunque facilmente gestibile E A QUESTO PUNTO ANCHE CON DELLE REGEX VOLENDO ;)...basta personalizzarlo e analizzare il codice..Ciao