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);
}

by iefreer

时间: 2024-08-01 03:35:20

PHP下载远程图片的3个方法的相关文章

ASP.NET下载远程图片保存到本地的方法、保存抓取远程图片

ASP.NET下载远程图片保存到本地的方法.保存抓取远程图片 2012-05-16 11:25:51     我来说两句      收藏    我要投稿 以下介绍两种方法:1.利用WebRequest,WebResponse 类WebRequest wreq=WebRequest.Create("http://up.2cto.com/2012/0516/20120516112717995.gif");    HttpWebResponse wresp=(HttpWebResponse)

dede不能下载远程图片及如何实现图片本地化的方法

有些时候我们想保存图片到本地服务器的时候发现保存不了,比如我们自己拷贝自己的站点到另外一个服务器等等,下面3A网络的小钱就来分享Dedecms无法保存远程图片到本地服务器的解决方法,分享给大家供大家参考.具体分析如下: 一.开启远程图片本地化 在编辑区域上方有个附加选项:下载远程图片和资源,把这个选上即可!也在可以在系统设置里面的其他选项把:远程图片本地化这个项目给选上! 二.检查网站目录 上传图片目录中是否有allimg这个文件夹(当更改了图片上传目录的情况下最容易出现这个问题) 三.可能是因

织梦dedecms 无法下载远程图片 fsockopen函数被禁用的解决方法

在linux服务器上fsockopen()函数被无情的禁用了(这其实是出于安全考虑,可以理解),下载远程图片的功能就没有办法使用了.找了一些资料之后,找到了解决方法,就是用stream_socket_client()函数替换掉fsockopen()函数.具体的方法如下: 打开/include/中的dedehttpdown.class.php文件,找到如下代码: $this->m_fp = @fsockopen($this->m_host, $this->m_port, $errno, $

织梦5.7下载远程图片和资源无效全套最新解决方案

1.织梦5.7下载远程图片和资源无效可能是因为服务器上禁用了fsockopen() 函数造成的,在用fsockopen()的地方用 stream_socket_client()代替就可以了. 具体修改地方是 /include/dedehttpdown.class.php 第507行 $this->m_fp = @fsockopen($this->m_host, $this->m_port, $errno, $errstr,10); 替换为 $this->m_fp = @stream

curl下载远程图片到服务器

<?php //curl下载远程图片到服务器 方法 function download($url, $path = 'images/'){ $ch = curl_init(); $names = mt_rand(100000,999999); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);

C# 下载远程图片并显示

/// <summary> /// 下载远程图片 /// </summary> /// <param name="url"></param> /// <returns></returns> private Image GetImage(string url) { try { HttpWebRequest myrequest = WebRequest.Create(url) as HttpWebRequest; Ht

js 下载远程图片

<!DOCTYPE html><html lang="en"><head> <script src="jquery/jquery-1.9.1.min.js"></script> <script src="jquery/jquery.min.js"></script> <meta charset="UTF-8"> <title&

php下载远程图片到本地

在使用 PHP 做简单的爬虫的时候,我们经常会遇到需要下载远程图片的需求,所以下面来简单实现这个需求1:使用curl 比如我们有下面这两张图片: $images = [ 'https://img.alicdn.com/tps/TB1jjaYOFXXXXa2aXXXXXXXXXXX-276-402.jpg_150x10000q90.jpg', 'https://img.alicdn.com/tfs/TB15QQ5cgMPMeJjy1XbXXcwxVXa-520-280.jpg_q90_.webp'

php-URL方法下载远程图片

php-URL方法也可以下载受使用限制的图片,比如微信服务器上的图片 功能代码如下: 1 public function downloadPic(){//测试可行,网上看的,远程下载图片*/ 2 $return_content = $this->https_request( $listsInfo[0]['photo_url']);//将图片的url传入url方法来获得图片内容 3 $filename = 'E:\phpStudy\WWW\web1\wexin\public\static\uplo