Home >Backend Development >PHP Problem >What is the method to download network images in php

What is the method to download network images in php

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-08-28 10:03:223984browse

What is the method to download network images in php

How to download Internet images using php? Here are several methods to introduce to you:

Related recommendations: "PHP Getting Started Tutorial"

1. PHP provides methods for downloading images

download.php Code

<?php
//获取要下载的文件名
$filename = $_GET[&#39;filename&#39;];
//设置头信息
header(&#39;Content-Disposition:attachment;filename=&#39; . basename($filename));
header(&#39;Content-Length:&#39; . filesize($filename));
//读取文件并写入到输出缓冲
readfile($filename);
Html调用
<a href="download.php?filename=./files/751c77c09d8e530520aab74234495f11.jpg">下载图片</a>

2. 3 methods for downloading remote images in PHP

This article demonstrates 3 methods of downloading images from remote URLs and saving them to local files, including file_get_contents, curl and fopen.

//1. 使用file_get_contents
function dlfile($file_url, $save_to)
{
$content = file_get_contents($file_url);
file_put_contents($save_to, $content);
}
//2.使用CURL
function dlfile($file_url, $save_to)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 0); 
curl_setopt($ch,CURLOPT_URL,$file_url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$file_content = curl_exec($ch);
curl_close($ch);
$downloaded_file = fopen($save_to, &#39;w&#39;);
fwrite($downloaded_file, $file_content);
fclose($downloaded_file);
}
//3.使用fopen
function dlfile($file_url, $save_to)
{
$in=    fopen($file_url, "rb");
$out=   fopen($save_to, "wb");
while ($chunk = fread($in,8192))
{
fwrite($out, $chunk, 8192);
}
fclose($in);
fclose($out);
}

The above is the detailed content of What is the method to download network images in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn