首页 >后端开发 >PHP问题 >php下载网络图片的方法是什么

php下载网络图片的方法是什么

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼原创
2019-08-28 10:03:223984浏览

php下载网络图片的方法是什么

如何用php下载网络图片呢?下面给大家介绍几种方法:

相关推荐:《PHP入门教程

1、PHP提供图片下载的方法

download.php 代码

<?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、PHP下载远程图片的3个方法

本文演示3个从远程URL下载图片,并保存到本地文件中的方法,包括file_get_contents,curl和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);
}

以上是php下载网络图片的方法是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn