第一个方法用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 |