Skip to content

Instantly share code, notes, and snippets.

@fj
Created January 11, 2012 23:51
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 7 You must be signed in to fork a gist
  • Save fj/1597544 to your computer and use it in GitHub Desktop.
Save fj/1597544 to your computer and use it in GitHub Desktop.
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');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment