What is the purpose of setting a buffer size in PHP file downloads?

Setting a buffer size in PHP file downloads helps to optimize the download process by reducing the number of server requests and improving the overall performance. By specifying a buffer size, you can control the amount of data that is transferred at a time, which can prevent memory issues and improve the efficiency of the download process.

// Set buffer size for file download
$buffer_size = 8192; // 8 KB

// Open the file for reading
$file = fopen('path/to/file.pdf', 'rb');

// Set the appropriate headers for file download
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="file.pdf"');

// Read and output the file in chunks
while(!feof($file)) {
    echo fread($file, $buffer_size);
}

// Close the file
fclose($file);