Gå til innhold

For each løkke for å hente flere linjer fra en fil


Anbefalte innlegg

Hei hei

 

Jeg holder på med et script som skal hente info fra en tekst fil.

 

 

Fila inneholder stasjonsbokstav, ledig diskplass og brukt diskplass.

Slik ser eksempelfil ut:

 

c>5000>1111

d>6000>111

g>400>444

 

Hvis jeg skal lese inn èn linje, så kan jeg bruke f.eks:

 

$drive = exec("cat fil.txt | grep c | cut -d '>' -f 1");

$free = exec("cat fil.txt | grep c | cut -d '>' -f 2");

$used = exec("cat fil.txt | grep c | cut -d '>' -f 3");

 

Men så kommer mitt problem, når det er flere stasjoner/disker, hvordan kan jeg hente ut og poste på hver linje?

Må vel kanskje bruke fopen for å åpne fila?

 

for each (linje)

echo "<tr>";

echo "<td>Drive: $drive</td>";

echo "<td>$used/$free</td>";

echo "</tr>";

slutt på for each

 

Noen som har en ide om hvordan jeg kan fikse problemet? :)

Lenke til kommentar
Videoannonse
Annonse
<?php

$lines = file ( 'filepath' );

foreach ( $lines as $line ) {

	$line = explode ( '>', $line );

	echo '<tr>';
	echo '<td>Drive: ' . $line[0] . '</td>';
	echo '<td>' . $line[2] . '/' . $line[1] . '</td>';
	echo '</tr>';

}

?>

 

 

Supert! Dette ordna det slik jeg ville. Det eneste jeg stresser litt med, er at det er ei tom linje på slutten av fila.

Så den tar med seg info, og poster slik:

 

Drive: C: 5029/12292

Drive: D: 87594/127022

Drive: /

 

Kan jeg trimme/hindre vekk den siste linja på et vis?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...