欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-03-09 08:49:54
...
php下载网络图片的方法是什么

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

相关推荐:《PHP入门教程

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

download.php 代码

<?php
//获取要下载的文件名
$filename = $_GET['filename'];
//设置头信息
header('Content-Disposition:attachment;filename=' . basename($filename));
header('Content-Length:' . 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, 'w');
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下载网络图片的方法是什么的详细内容,更多请关注其它相关文章!