Håndtering af store filer i PHP
mar 08
Udvikling fclose, fgets, fopen, fseek, php No Comments
Et klassisk problem i min verden, er procesering af store filer i PHP. Det kunne f.eks. være læsning af en logfil eller importering fra en CVS fil…
Jeg ved snart ikke hvormange gange jeg er begyndt at indlæse en fil uden at tænkt over filens størrelse først – det varer som regel ikke længe inden ens computer begynder at “blæse” og et simpelt check af rammene viser at de hurtigt er ved at blive fyldt op
.
Kan du nikke genkendende til dette scenarie, så vil du sikkert kunne bruge følgende metode til noget.
Step by step…
Løsningen virker meget logisk, men som med alt PHP-kodning, kræver det lige at du har fundet ud af hvilke funktioner der findes til at håndterer dette. Tricket er selvfølgelig kun at læse lidt ad gangen.
Her har jeg taget udgangspunkt i importering af en “;”-separeret CSV-fil, og jeg er interesseret i at læse én linie ad gangen. Om filen er 10, 50, eller 100 MB stor har kun betydning for tiden det vil tage at proceserer den.
En linie i CVS-filen kunne se ud som følgende: ID ; navn ; email
"1234";"Simon Jensen";"min@email.xyz"
More
RSS
Twitter
Flickr
Facebook





Seneste kommentarer