Since PHP 5.1.0, file_put_contents() supports writing piece-by-piece by passing a stream-handle as the $data parameter:
file_put_contents("Tmpfile.zip", fopen("http://someurl/file.zip", 'r'));
From the manual:
If data [that is the second argument] is a stream resource, the remaining buffer of that stream will be copied to the specified file. This is similar with using stream_copy_to_stream().
(Thanks Hakre.)
<a class="btn btn-outline-primary" href="{{ asset('excel/application-user-sample.xlsx') }}">
<i class="fa fa-download mr-1"></i>Download Sample File
</a>