---
title: "Hur läser man in en del av en fil?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/14550-hur-läser-man-in-en-del-av-en-fil"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "bRaVo"
published: "2000-05-28T14:42:00.000Z"
updated: "2000-05-29T12:21:00.000Z"
replies: 9
views: 452
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/14550-hur-läser-man-in-en-del-av-en-fil"
---

# Hur läser man in en del av en fil?

## #1 — bRaVo, 2000-05-28T14:42Z

Jag har en gästbok som jag skrivit i php.. men nu skulle jag vilja att det senaste inlägget,dvs det inlägget högst upp i datafilen

jag vet hur man läser man från början av en fil, men nu vill jag att den ska sluta när den hittar \<!-- för andra gången (varje inlägg börjar med \<!-- datum --\> )

hjälp är jag väldigt tacksam om jag får

/Erik Jansson (www.saft.nu)

Permalänk: https://www.webforum.nu/p/14550

## #2 — Robban, 2000-05-28T21:36Z

Enklast blir det ju om du lagrar varje inlägg på en egen rad i datafilen. Då kan du använda [fgets](http://www.php.net/manual/function.fgets.php) för att bara läsa in den översta raden och inga fler.

Annars får du ju läsa in rad för rad, eller tecken för tecken, och leta (med reguljära uttryck) efter förekomsten av "\<!--", men det är ju både krångligare och mer resurskrävande.

Permalänk: https://www.webforum.nu/p/310969

## #3 — Swey, 2000-05-28T22:05Z

fgets kan inte läsa in en rad om man inte vet hur lång raden är som max... störande...

Permalänk: https://www.webforum.nu/p/310970

## #4 — emission, 2000-05-28T22:45Z

Hämta med fgetc tills att du stöter på en newline, eller hämta en lagom lång snutt och splitta fram första raden, eller matcha fram den.

Permalänk: https://www.webforum.nu/p/310971

## #5 — Kim, 2000-05-28T22:47Z

Problemet med det är ju att ett inlägg från en gästbok, som det är i det här fallet, lätt kan innehålla radbrytningar. Då blir det helt galet om man letar efter radbrytningar.

Permalänk: https://www.webforum.nu/p/310972

## #6 — Robban, 2000-05-29T02:37Z

> fgets kan inte läsa in en rad om man inte vet hur lång raden är som max ...

Man kan ju hugga i ordentligt när det gäller *length* så blir det ju i praktiken läsning rad för rad. :)

Men jag håller med dig om att det är bökigt. Attributet *length* borde ha varit frivilligt (och om inte angivet så borde fgets läsa tills radbrytning eller EOF påträffas).

Permalänk: https://www.webforum.nu/p/310973

## #7 — Robban, 2000-05-29T02:41Z

> Problemet med det är ju att ett inlägg från en gästbok, som det är i det här fallet, lätt kan innehålla radbrytningar.

När det gäller datafilen får man ju se till att ersätta alla radmatningar i så fall (t.ex. med \<br\> eftersom det troligen är det man vill ha i slutändan ändå). Inget större problem egentligen?

Permalänk: https://www.webforum.nu/p/310974

## #8 — Kim, 2000-05-29T11:02Z

Nej, det är ju sant... :)

Permalänk: https://www.webforum.nu/p/310975

## #9 — Swey, 2000-05-29T11:31Z

Jag provade att hugga i ordentligt. Riktigt ordentligt. Då fick jag ett felmeddelande. "Out of memory". :)

Den allokerar **tyvärr** så många bytes som man skickar. Jag provade att köra med fgetc en gång och det gick inte alls. Det tog evighet med tid.

Numera tycker jag att PHP inte är så bra - på bland annat filhantering -längre... :(

Permalänk: https://www.webforum.nu/p/310976

## #10 — Robban, 2000-05-29T12:21Z

> Den allokerar tyvärr så många bytes som man skickar.

Ok, det visste jag inte. Jag har väl inte huggit i ordentligt nog. :)

Permalänk: https://www.webforum.nu/p/310977

---

Tråden på webben: https://www.webforum.nu/amne/php/14550-hur-läser-man-in-en-del-av-en-fil
