@ @ndreas Medlem sedan maj 2001 48 inlägg Frågan 8 nov. 2001 17:37 #1 Och han letade, och han letade....men hittade ingenting.
Jag skulle vilja ta ut de första 5 raderna ur en text fil.
Hur ska man kunna göra detta?
------------------
Om vi vore ensamma i universum så är det ett väldigt slöseri med plats.
S SPiN Medlem sedan mars 2000 7 896 inlägg Sätt 1:
<?php
$fil = file("filen.txt");
for($i = 0; $i < 5; $i++) {
$fem_rader[$i] = $fil[$i];
}
?>
Sätt 2:
<?php
$filPekare = fopen("filen.txt", 'r');
for($i = 0; $i < 5; $i++) {
$fem_rader[$i] = fread($filPekare, 1024);
}
fclose($filPekare);
?>
Vilket sätt som är snabbast har jag ingen aning om, välj det som du tycker ser bäst ut :)
I andra exemplet kan du ändra 1024 till ett tal som passar dig bättre. Talet bestämmer hur många tecken som ska läsas på raden.
------------------
SPiN, bjorne.w@telia.com
-- Tekniska framsteg är som en yxa i händerna på en kriminell galning / Albert Einstein --
@ @ndreas Medlem sedan maj 2001 48 inlägg Tackar, men hur ska jag skriva ut det, för när jag försöker är det helt dött, behöver det står något konstigt i textfilen eller så...kanske måste vara nån sorts avslutning på varje rad.
Eller är det bara utskriften som saknas, typ echo $fem_rader; fast det har jag testat och det hjälpte inte riktigt...
------------------
Om vi vore ensamma i universum så är det ett väldigt slöseri med plats.
S SPiN Medlem sedan mars 2000 7 896 inlägg Nope, det hjälpte inte eftersom att allt hamnar i en array :)
<?php
while($current = array_shift($fem_rader)) {
echo $current;
}
Eller:
for($i = 0; $i < count($fem_rader); $i++) {
echo $fem_rader[$i];
}
Som du märker finns det många sätt att göra saker på i PHP, det är bra med flexibilitet :)
Jag skulle personligen använda sätt 1 här, tycker det är renare och snyggare.
Red.} Allt som allt skulle jag gjort så här:
<?php
$fil = file("filen.txt");
for($i = 0; $i < 5; $i++) {
array_push($fem_rader, $fil[$i]);
}
while($current = array_shift($fem_rader)) {
echo $current;
}
?>
Snygg och ren kod, alltid välkomment. Eller hur, Zacay? ;)
Läs mer om funktionen array_push() , och array_shift() om du inte använt dem tidigare och inte vet hur de fungerar. :)
------------------
SPiN, bjorne.w@telia.com
-- Tekniska framsteg är som en yxa i händerna på en kriminell galning / Albert Einstein --
[Redigerat av SPiN den 10 nov 2001]