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

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

相关文章

来自专栏Jackie技术随笔

TCP回射客户-服务器程序

创建一个TCP套接口,用通配地址(INADDR_ANY)和unp.h中定义的众所周知端口(SERV_PORT),端口号为9877。

1454
来自专栏Java帮帮-微信公众号-技术文章全总结

java.io.IOException 断开的管道【面试+工作】

查看采集数据的tomcat日志,习惯性的先翻到日志的最后去查看有没有异常的打印,果然发现了好几种异常信息,但是最多还是这个:

633
来自专栏Linyb极客之路

网络编程之socket异常总结

1.java.net.SocketTimeoutException . 这 个异 常比较常见,socket 超时。 一般有 2 个地方会抛出这个,一个是 con...

4679
来自专栏菩提树下的杨过

msmq在Internet上访问的问题(只能发送,不能接收)

今天测试了一下,message queue的private队列,在internet上可以发送,只要知道服务端的IP地址即可(当然服务端的队列权限要给足) 注意:...

18010
来自专栏开发与安全

linux网络编程之socket(十二):select函数的并发限制和 poll 函数应用举例

一、用select实现的并发服务器,能达到的并发数,受两方面限制 1、一个进程能打开的最大文件描述符限制。这可以通过调整内核参数。可以通过ulimit -n来调...

1940
来自专栏https://www.cnblogs.com/L

Nginx篇--解读nginx配置

之前讲解了Nginx的源码安装与加载到系统服务中去,http://www.cnblogs.com/LHWorldBlog/p/8298226.html 今天详细...

1003
来自专栏散尽浮华

nginx应用总结(2)--突破高并发的性能优化

在日常的运维工作中,经常会用到nginx服务,也时常会碰到nginx因高并发导致的性能瓶颈问题。今天这里简单梳理下nginx性能优化的配置(仅仅依据本人的实战经...

2359
来自专栏狂码一生

深入PHP FTP类的详解

FTP是一种文件传输协议,它支持两种模式,一种方式叫做Standard (也就是Active,主动方式),一种是 Passive (也就是PASV,被动方式)。...

3998
来自专栏上善若水

L009Linux和androidNDK之linux网络通讯超时时间设置

无论你用任何语言或者是网络库,你都可以设置网络操作的超时时间,特别是connect,read,write的超时时间。

1395
来自专栏IMWeb前端团队

fis3 commonJs中的moduleId

本文作者:IMWeb 袁飞翔 原文出处:IMWeb社区 未经同意,禁止转载 首先看一个有趣的问题 // fis-conf.js fis.hook('c...

1746

扫码关注云+社区