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

第一个方法用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 条评论
登录 后参与评论

相关文章

来自专栏我思故我在

ABP框架 - 模块系统

1232
来自专栏Linux驱动

1.Linux电源管理-休眠与唤醒

当我们休眠时,如果想唤醒,则需要添加中断唤醒源,使得在休眠时,这些中断是设为开启的,当有中断来,则会退出唤醒,常见的中断源有按键,USB等.

2522
来自专栏大内老A

[WCF 4.0新特性] 路由服务[原理篇]

在一个典型的服务调用场景中,具有两个基本的角色,即服务的消费者和服务的提供者。从消息交换的角度讲前者一般是消息的最初发送者,而后者则是消息的最终接收者。在很多情...

1766
来自专栏三木的博客

Linux shell 程序设计3——命令行程序

1、date:显示、设置系统的日期和时间。 $date 2011年 01月 30日 星期日 14:43:35 CST $date 012309232011 执行...

1996
来自专栏咸鱼不闲

post和get的区别,面试经常被问到!(二)

1942
来自专栏李鹏的专栏

JAVA 高并发设计

同步和异步通常用来形容一次方法调用,同步方法,调用者必须等到方法调用返回后,才能继续后续的行为,异步方法调用会立即返回,调用者就可以继续后续的操作。

3660
来自专栏Spark学习技巧

Kafka源码系列之如何删除topic

本文依然是以kafka0.8.2.2为例讲解 一,如何删除一个topic 删除一个topic有两个关键点: 1,配置删除参数 delete.topic.enab...

3879
来自专栏数据库

JDBC常见错误及解决方案

最近很多同学在数据库编程这一块遇到了很多的问题,各种问题都有,但却苦于不知道怎么解决这些问题,以至于编程效率非常低。今天我就来总结一下在数据库编程时经常遇到的问...

2108
来自专栏小白课代表

文件搜索利器——Everything

2202
来自专栏行者常至

状态管理-Session

812

扫码关注云+社区