Hur kan man göra om man vill hämta info från en textfil och koppla den till en variabel?
Hämta från textfil
9 svar · 248 visningar · startad av web00132
$filPekare = fopen ( "txtFil.txt", 'r' );
$filInnehall = fread ( $filPekare, filesize ( "txtFil.txt" ) );
fclose ( $filPekare );
echo "Innehåll i filen:<br>";
echo $filInnehall;
Ta gärna en mer ingående titt på:
http://www.php.net/fopen
http://www.php.net/fread
http://www.php.net/fwrite ( Slänger med den för säkerhets skull ;) )
------------------
SPiN, bjorne.w@telia.com
-- En ask vet jag stånda - den Yggdrasil heter, ett väldigt träd överöst av vita sanden. --
Tack för svaret men problemet är att jag vill inte hämta allt på en gång utan kanske en rad i taget. Hur gör man då?
Samma som ovan, men istället för raderna med echo lägger du dit det här:
$filInnehall = preg_replace ( "/\n{1,}/is", "\n", $filInnehall );
$filRader = explode ( '\n', $filInnehall );
while ( $filRad = array_shift ( $filRader ) )
echo $filRad . "<br>";
Du kan du också ta en titt på:
http://www.php.net/preg_replace
http://www.php.net/explode
http://www.php.net/array_shift
:)
------------------
SPiN, bjorne.w@telia.com
-- En ask vet jag stånda - den Yggdrasil heter, ett väldigt träd överöst av vita sanden. --
Alright, tack ska du ha.
Men vänta nu, hur tilldelar jag varje enskild rad en egen variabel?
Strunta i mina tidigare inlägg, jag har inte huvudet på skaft idag.
Med file () får du in hela textfilen i en array, med varje rad på ett eget index.
$txtFil = file ( "txtFil.txt" );
echo "Rad 1: " . $txtFil[ 0 ] . "<br>";
echo "Rad 2: " . $txtFil[ 1 ] . "<br>";
...
------------------
SPiN, bjorne.w@telia.com
-- En ask vet jag stånda - den Yggdrasil heter, ett väldigt träd överöst av vita sanden. --
Hehe, ok. Tack än en gång!
Du kan även göra så här:
$innehall=file("minfil.txt");
Då läses varje rad in som ett arrayelement. Vill du t.ex komma åt rad 3 skriver du:
echo $innehall[2];
red/ var tydligen för sent ute.
------------------
Fiskesällskapet Salamander
[Redigerat av Matte den 06 jan 2002]
Tack ändå!