php download file from server to browser code example
Example 1: Download file from another server in PHP
<?php
$curl = curl_init();
$url = "https://wallpapercave.com/wp/wp2663986.png";
$string = explode('/', $url);
$last_word = array_pop($string);
$path = 'images/' . $last_word;
$myfile = fopen( $path , 'w+');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_FILE, $myfile);
$data = curl_exec($curl);
if ($data)
{
echo "Download Completed <br>";
echo "Output : $path <br>";
echo "File Name : $last_word <br>";
echo "URL : $url <br>" ;
}
$err = curl_error($curl);
echo $err;
curl_close($curl);
?>
Example 2: php file download from url
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.)