Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!
  • Php

Idiom #58 Extract file content to a string

Create the string lines from the content of the file with filename f.

$lines = file_get_contents('f');
if ($lines === false) {
    // handle error...
}

lines has the string type if file_get_contents was successful.

You can split this string with explode, or directly use file to read a file into an array of lines.
#include <sys/mman.h>
#include <sys/stat.h>
#include <fcntl.h>
int err = 0;
int fd = 0;
void * ptr = NULL;
struct stat st;
if ((fd = open (f, O_RDONLY))
&& (err = fstat (fd, &st)) == 0
&& (ptr = mmap (NULL, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0)) != -1) {
    const char * lines = ptr;
    puts (lines);
    munmap (ptr, st.st_size);
    close (fd);
}

Mapping the whole file into the process address space avoids allocating memory.

New implementation...
< >
programming-idioms.org