Questo codice legge un intero file in un buffer che ha la dimensione del file. Se non vuoi leggere l'intero file ti allochi un buffer di dimensione fissa, ad esempio 1024 * 500 bytes (500KB), quindi esegui la fread in un ciclo while che continua finchè feof(pFile) non restituisce 1 indicando che la fine del file è stata raggiunta.

Codice PHP:
/* fread example: read a complete file */
#include <stdio.h>
#include <stdlib.h>

int main () {
  
FILE pFile;
  
long lSize;
  
char buffer;

  
pFile fopen "myfile.txt" "rb" );
  if (
pFile==NULL) exit (1);

  
// obtain file size.
  
fseek (pFile SEEK_END);
  
lSize ftell (pFile);
  
rewind (pFile);

  
// allocate memory to contain the whole file.
  
buffer = (char*) malloc (lSize);
  if (
buffer == NULL) exit (2);

  
// copy the file into the buffer.
  
fread (buffer,1,lSize,pFile);

  
/*** the whole file is loaded in the buffer. ***/

  // terminate
  
fclose (pFile);
  
free (buffer);
  return 
0;