get_headers()是PHP中一个系统级函数,他可以返回一个包含有服务器响应一个HTTP请求所发送的标头的数组。如果失败则返回 FALSE 并发出一条 E_WARNING 级别的错误信息(可用来判断远程文件是否存在)。

PHP get_headers()函数的定义与语法

get_headers():可以通过服务器的响应头来判断远程文件是否存在

语法:array get_headers ( string $url [, int $format = 0 ] )

参数:

format 如果将可选的 format 参数设为 1,则 get_headers() 会解析相应的信息并设定数组的键名,如果设置默认为0get_headers()举例

PHP判断一个网站是否可以访问

例1:<?php

var_dump( get_headers('https://www.feiniaomy.com'));

?>

返回结果:Array

(

[0] => HTTP/1.1 200 OK

[1] => Server: Tengine

[2] => Content-Type: text/html; charset=utf-8

[3] => Connection: close

[4] => Vary: Accept-Encoding

[5] => Date: Wed, 15 May 2019 03:00:39 GMT

[6] => Vary: Accept-Encoding

[7] => X-Powered-By: PHP/7.2.11

[8] => Product: Z-BlogPHP 1.5.2 Zero

[9] => X-XSS-Protection: 1; mode=block

[10] => Upgrade-Insecure-Requests: 1

[11] => Ali-Swift-Global-Savetime: 1557889239

[12] => Via: cache4.l2eu6-1[68,200-0,M], cache28.l2eu6-1[70,0], kunlun9.cn547[153,200-0,M], kunlun10.cn547[157,0]

[13] => X-Cache: MISS TCP_MISS dirn:-2:-2

[14] => X-Swift-SaveTime: Wed, 15 May 2019 03:00:39 GMT

[15] => X-Swift-CacheTime: 0

[16] => Timing-Allow-Origin: *

[17] => EagleId: db939d1e15578892393137219e

)

注意:以上示例get_headers()函数没有设置参数,所以返回的数组中键值都是默认的。

例2:<?php

print_r( get_headers('https://www.feiniaomy.com',1));

?>

返回结果:Array

(

[0] => HTTP/1.1 200 OK

[Server] => Tengine

[Content-Type] => text/html; charset=utf-8

[Connection] => close

[Vary] => Array

(

[0] => Accept-Encoding

[1] => Accept-Encoding

)

[Date] => Wed, 15 May 2019 03:03:16 GMT

[X-Powered-By] => PHP/7.2.11

[Product] => Z-BlogPHP 1.5.2 Zero

[X-XSS-Protection] => 1; mode=block

[Upgrade-Insecure-Requests] => 1

[Ali-Swift-Global-Savetime] => 1557889396

[Via] => cache4.l2eu6-1[81,200-0,M], cache24.l2eu6-1[83,0], kunlun9.cn547[124,200-0,M], kunlun7.cn547[128,0]

[X-Cache] => MISS TCP_MISS dirn:-2:-2

[X-Swift-SaveTime] => Wed, 15 May 2019 03:03:16 GMT

[X-Swift-CacheTime] => 0

[Timing-Allow-Origin] => *

[EagleId] => db939d1b15578893967421125e

)

PS:本示例调用get_headers()函数时,设置了他的参数为1,返回的结果数组中,会解析相应的信息并设定数组的键名。

PHP判断远程图片是否存在

通过以上的示例的返回结果,我们可以通过返回数组中的第一个值来判断一个远程的页面或远程的图片是否可以访问

代码:<?php

$arr = get_headers('https://www.feiniaomy.com/zb_users/upload/Mochu_Feiniao/logo.png', 1);

if(!(stristr($arr[0], "200") && stristr($arr[0], "OK"))) {

echo '图片不存在';

}else{

echo '图片存在';

}

?>

执行结果:图片存在

上面的示例是判断一个远程的图片是否可以访问,当然你也可以把图片的地址换成网站的url地址,同样可以做出判断

php中headers,php中get_headers()函数介绍以及用法相关推荐

  1. PHP中的mb_convert_encoding与iconv函数介绍

    iconv函数库能够完成各种字符集间的转换,是php编程中不可缺少的基础函数库.  1.下载libiconv函数库http://ftp.gnu.org/pub/gnu/libiconv/libicon ...

  2. C#中File和FileStream的简单介绍和用法

    前言 在近期的工作过程中发现自己的基础比较薄弱,所以最近在恶补基础知识.下面就对我所学习的File类和FileStream进行简单的总结. 1.首先先介绍File类和FileStream文件流 1.1 ...

  3. c语言isnumber函数用法,科技教程:ISNUMBER函数介绍及用法

    如今越来越多的小伙伴对于ISNUMBER函数介绍及用法这方面的问题开始感兴趣,看似平静的每一天,在每个人身上都在发生着各种各样的故事,因为大家现在都是想要了解到此类的信息,那么既然现在大家都想要知道I ...

  4. WinCE中串口驱动及接口函数介绍(转载)

    作者:ARM-WinCE 在WinCE中,串口驱动实际上就是一个流设备驱动,具体架构如图: 串口驱动本身分为MDD层和PDD层.MDD层对上层的Device Manager提供了标准的流设备驱动接口( ...

  5. 【转载】WinCE中串口驱动及接口函数介绍

    转载自:http://blog.csdn.net/nanjianhui/article/details/2627755 在WinCE中,串口驱动实际上就是一个流设备驱动,具体架构如图: 串口驱动本身分 ...

  6. WinCE中串口驱动及接口函数介绍

    作者:ARM-WinCE 在WinCE中,串口驱动实际上就是一个流设备驱动,具体架构如图: 串口驱动本身分为MDD层和PDD层.MDD层对上层的Device Manager提供了标准的流设备驱动接口( ...

  7. numpy中的log和ln函数介绍

    numpy的log和ln函数 每次当我想用python实现ln函数时,下意识的就会输入错误的函数代码,这里特来记录一下关于numpy中的ln和log函数正确的调用方式. ln函数 1 2 3 4 5 ...

  8. c语言isnumber函数的使用方法,ISNUMBER函数介绍及用法

    一.ISNUMBER函数介绍 函数功能:检测参数是否为数值,返回ture或false. 函数语法:ISNUMBER(value). 参数:如果value为数值时函数返回ture(真),否则返回fals ...

  9. fopen()和fwrite()函数介绍及用法

    一.fopen()         头文件:#include <stdio.h>         fopen()作用:用来打开或创建一个普通文件(文本文件/二进制文件)        函数 ...

最新文章

  1. 疫情过后,对医疗AI行业带来的机遇
  2. 用STM32F103C8T6的做IAP时,在跳转时一直进入HardFault_Handler 解决方法
  3. 几本国外著名反演书籍(高清版资源)
  4. Python(2):基本数据类型
  5. [笔记]提升R的性能和突破内存限制的技巧
  6. 91.91p10.space v.php,luogu P1091 合唱队形
  7. 栈和队列:2.队列(Queue)及其C语言实现
  8. Android内容提供者(群发短信)
  9. 专栏 | 是什么成就了中国最具创新力的公司,帮他们的超脑计划孵出阿尔法蛋?...
  10. git创建仓库,并提交代码(第一次创建并提交)
  11. 用JAVA写出1到999的随性化数_请详细翻译一个简单的JAVA程序问题
  12. Luogu3613 睡觉困难综合征
  13. 神经网络控制器设计原理,神经网络控制系统设计
  14. 《你是三月的小桨》光剑
  15. python专题知识追寻者对OS的理解
  16. Seo:入门须知(三)网页快照投诉
  17. 使用Java分割大文件
  18. 通过UEFI禁用 BD PROCHOT
  19. gitlab 配置企业微信邮箱发送邮件
  20. quartz的schedulerFactory实现解析

热门文章

  1. iOS小技能:商户进件风险控制强化
  2. 知识星球推出三大新功能再也不怕被忽悠了。
  3. react中状态提升是什么意思
  4. groovy使用全局变量
  5. 2022/10/11 友塔游戏 服务端
  6. 全媒体运营师胡耀文教你:怎样让“用户留存分析模型”更好用
  7. 微软拿GPT-3独家授权,马斯克:Open AI被“控制”了
  8. 史上最经典垃圾回收器(CMS,G1)详解、适用场景及特点、使用命令
  9. 联想在手机市场没有找到自己的定位错失机会
  10. Java实现Excel导入导出操作