抓取远程图片到本地,你会用什么函数?

第一个方法用file_get_contents($url):

然后1.gif是你要保存的相对路径,你也可以写成绝对路径。

第二个方法用自己写的原生代码:

解释一下代码吧:

ob_start(); 是打开输出缓冲

readfile($url);读入一个文件并写入输出缓冲

ob_get_contents();返回输出缓冲的内容

ob_end_clean();清除输出缓冲

下面的fopen、fwrite、fclose就大家都懂啦。

接下来要了解到是fsockopen()函数:

fsockopen — 打开一个网络连接或者一个Unix套接字连接。

resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )

例子

hostname是url,port是端口,errno一个存放错误编号的变量,errstr是一个存放错误信息字符串的变量和超时等待时间。

组成url的几个部分为:协议名(scheme),主机(host),端口号(port),文件路径(path),查询参数(query),例:http://www.baidu.com/img/bd_logo.png

常见的HTTP状态码

代码

含义

200

OK

204

NO Content

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

408

Time out

5**

Server error

原文发布于微信公众号 - 程序员的碎碎念(gh_53e607dd4782)

原文发表时间:2017-09-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

6478
来自专栏张善友的专栏

Mix 10 上的asp.net mvc 2的相关Session

Beyond File | New Company: From Cheesy Sample to Social Platform Scott Hansel...

2517
来自专栏一个爱瞎折腾的程序猿

sqlserver使用存储过程跟踪SQL

USE [master] GO /****** Object: StoredProcedure [dbo].[sp_perfworkload_trace_s...

1930
来自专栏Ceph对象存储方案

Luminous版本PG 分布调优

Luminous版本开始新增的balancer模块在PG分布优化方面效果非常明显,操作也非常简便,强烈推荐各位在集群上线之前进行这一操作,能够极大的提升整个集群...

3025
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2092
来自专栏大内老A

The .NET of Tomorrow

Ed Charbeneau(http://developer.telerik.com/featured/the-net-of-tomorrow/) Exciti...

30510
来自专栏杨龙飞前端

scrollto 到指定位置

2454
来自专栏魂祭心

原 canvas绘制clock

3924
来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

2657
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

3945

扫码关注云+社区