RsD0p9BK
9/2/2016 - 4:40 AM

file__write_by_chunks.php

# Slightly nicer way of writing large files to disk with PHP

// Copy big file from somewhere else
$src_filepath = 'http://example.com/all_the_things.txt'; $src = fopen($src_filepath, 'r');
$tmp_filepath = '...'; $tmp = fopen($tmp_filepath, 'w');
$buffer_size = 1024;

while (!feof($src)) {                       
   $buffer = fread($src, $buffer_size);     // Read big file/data source/etc. in small chunks
   fwrite($tmp, $buffer);                   // Write in small chunks
}

fclose($tmp_filepath);                      // Clean up
fclose($src_filepath);

rename($tmp_filepath, '/final/path/to/file.txt');

# https://gist.github.com/fj/1597544