Läsa in stora filer PHP

Här diskutera vi PHP och Webutveckling. Forumet innefattar även diskussion kring den open source mjukvara som finns i PHP exempelvis OsCommerce, Mambo, Drupal, phpBB och etc
Post Reply
klein
Posts: 4886
Joined: 1 April 2002, 02:00
Location: 43,41,41N, 7,15,47Ö

Läsa in stora filer PHP

Post by klein » 17 February 2007, 16:42

Jag vill läs in en stor file i PHP, dock utan att läsa in allt i minnet förslag. Dock vill de inte fungera, den evig tid och sluta med att firefox vill ladda ner något.
Filen jag skall läsa in är bara på 4 MB.

Code: Select all

$handle = fopen("xxxx.txt", 'r');
  
  
if ($handle) {
   while (!feof($handle)) {
       $lines[] = fgets($handle, 4096);
   }


 fclose($handle);
}

User avatar
mm2000
Posts: 613
Joined: 11 December 2003, 02:11
Location: Gävle
Contact:

Post by mm2000 » 23 May 2007, 09:09

Ändra storlek på filer som kan laddas upp i php.ini

erik_persson
Posts: 1474
Joined: 29 August 2002, 15:19

Re: Läsa in stora filer PHP

Post by erik_persson » 23 May 2007, 19:53

m wrote:Jag vill läs in en stor file i PHP, dock utan att läsa in allt i minnet förslag. Dock vill de inte fungera, den evig tid och sluta med att firefox vill ladda ner något.
Filen jag skall läsa in är bara på 4 MB.

Code: Select all

$handle = fopen("xxxx.txt", 'r');
  
  
if ($handle) {
   while (!feof($handle)) {
       $lines[] = fgets($handle, 4096);
   }


 fclose($handle);
}
Av ren nyfikenhet, varför kör du inte med kommandot "file".
Slutresultatet blir ju jämförbart. I ovanstående läser du in en hel fil till en array, och det är också precis vad du gör med file. Skillnaden är möjligen att radlängden aldrig blir mer än 4096 i ovan.

/ep

Post Reply