Usare file txt

valient13

Utente Attivo
6 Apr 2012
96
0
0
Sicilia
PHP:
<?php include("header.php"); ?>
  <!-- Content -->
  <div id="content">
  	<div id="conteiner">
  		<?php
			print "<table width=100% class=\"contacts\">";
			$fd= fopen ("dati/MCC00.txt","r");
			$x=0;
			while (!feof ($fd))
			{
			$riga=fgets($fd, 530);
			if($riga!="")
			{
			$arr=split(';', $riga);
			print "<tr>";
			print "<td>".$arr[0]."</td>";
			print "<td>".$arr[1]."</td>";
			print "<td>".$arr[2]."</td>";
			print "<td>".$arr[3]."</td>";
			print "</tr>";
			$x++;
			}
			}
			print "</table>";
			fclose($fd);
		?> 
  	</div>
    <?php include("sidebar.php"); ?>
  </div>
  
<?php include("footer.php"); ?>

"Function split() is deprecated"
un'alternativa a split? penso che sia giusto il codice, perchè voglio recuperare un file txt..
 
Grazie Alessandro, mi metto a video tutti i giocatori, ma come faccio a prendere il nome:

101|0|ABBIATI|MIL|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|16
102|0|AGAZZI|CAG|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|10
103|0|AGLIARDI|BOL|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1

Grazie Ancora
 
Se ho capito bene, con il primo explode ricavi un array sfruttando la delimitazione data da ";".
Vedo che nelle righe ogni elemento è delimitato da un pipe "|", e che i nomi dei giocatori sono sempre al terzo posto, quindi con un altro explode dovresti ricavare un "$riga[2]" che ti dovrebbe permettere di accedere al nome del giocatore.
 
Questo è il file php:
PHP:
<?php include("header.php"); ?>
  <!-- Content -->
  <div id="content">
  	<div id="conteiner">
  		<?php
			print "<table width=100% class=\"contacts\">";
			$fd= fopen ("dati/MCC00.txt","r");
			$x=0;
			while (!feof ($fd))
			{
			$riga=fgets($fd, 530);
			if($riga!="")
			{
			$arr=explode(';', $riga);
			print "<tr>";
			print "<td>".$arr[0]."</td>";

			print "</tr>";
			$x++;
			}
			}
			print "</table>";
			fclose($fd);
		?> 
  	</div>
    <?php include("sidebar.php"); ?>
  </div>
  
<?php include("footer.php"); ?>

mentre questo è il txt:
Codice:
101|0|ABBIATI|MIL|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|16
102|0|AGAZZI|CAG|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|10
103|0|AGLIARDI|BOL|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1
104|0|AMELIA|MIL|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|2
105|0|ANDUJAR|CAT|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|10
106|0|ANTONIOLI|CES|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|10
107|0|AVRAMOV|CAG|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1
108|0|BELARDI|UDI|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1
109|0|BENASSI|LEC|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1
110|0|BENUSSI|PAL|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1
155|0|BERARDI|LAZ|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1
111|0|BIZZARRI|LAZ|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1
ecc

PHP:
$arr=explode(';', $riga);
dovrei modificare questo ";" con questo "|" ?
 
Ma se nel file non compare nemmeno mezza volta il punto e virgola, perché effettui la divisione usando quel carattere come token? Lo script corretto sarebbe:
PHP:
<?php
// meglio require_once di include
require_once 'header.php';
?>
    <!-- Content -->
    <div id="content">
        <div id="conteiner">
            <table width="100%" class="contacts">
                <?php
                // con file() si evita tutta la fatica di apertura, controllo e
                // chiusura del file
                foreach (file('dati/MCC00.txt') as $line) {
                    echo '<tr>';
                    
                    $parts = explode('|', $line);

                    foreach ($parts as $part) {
                        echo "<td>{$part}</td>";
                    }

                    echo '</tr>';
                }
                ?>
            </table>
        </div>
    </div>
<?php
// vedi sopra
require_once 'footer.php';
?>
 
Codice:
101|0|ABBIATI|MIL|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|16
102|0|AGAZZI|CAG|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|10
103|0|AGLIARDI|BOL|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1
104|0|AMELIA|MIL|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|2
105|0|ANDUJAR|CAT|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|10
106|0|ANTONIOLI|CES|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|10
107|0|AVRAMOV|CAG|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1
108|0|BELARDI|UDI|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1
109|0|BENASSI|LEC|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1
110|0|BENUSSI|PAL|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1
155|0|BERARDI|LAZ|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1
111|0|BIZZARRI|LAZ|1|0|0|0.0|0|0|0.0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1
ecc

Come faccio a portare i nome dei giocatori e le squadre nelle select box appropriate tipo attaccante difensore, nella 6 colonna dice se è 0= portiere 1=difensore 2=centrocampista 3=attaccante.
 

Discussioni simili