好问题
Good  Question
  • 首 页
  • 问题
    • PHP
    • JAVA
    • CPlusPlus
    • C#
    • SQL
  • 关 于
  • 联 系
如何使用PHP检查远程文件是否存在? 关闭 返回上一级  

如何使用PHP检查远程文件是否存在?
+ 查看更多

发布日期:2018-03-10 15:43
分类:PHP
浏览次数:151
使用 if fclose fopen 会使页面加载变的很慢。
我想实现以下功能:我有一个网站列表,我想在每个网站旁边显示相应的图标。 但是,如果某个网站没有图标文件,就需要显示一个默认的图标,而不是显示一个失效的图标。

回答:

通过设置“CURLOPT_NOBODY”,实cURL只读正文信息和不读正文。
$ch = curl_init("http://www.example.com/favicon.ico");

curl_setopt($ch, CURLOPT_NOBODY, true);
curl_exec($ch);
$retcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// $retcode >= 400 -> not found, $retcode = 200, found.
curl_close($ch);
无论如何,你只是节省了HTTP传输的成本,而不是TCP连接建立和关闭的成本。因为图标文件比较小,所以你可能也看不到很多改善。
如果获取图标太慢,可以在本地进行结果缓存。 你可以像浏览器一样,使用响应头部信息获得图标的 CURLINFO_FILETIME。 在缓存中,您可以存储URL => [favicon,timestamp]。 然后,您可以比较时间戳并重新加载图标。
上一篇在PHP中格式化电话号码
在PHP中,如何删除我的网站的所有cookies?下一篇
下一篇在PHP中,如何删除我的网站的所有cookies?

最新文章

  • 函数`__construct`用来干嘛的
    发布日期:2018-03-26
  • 通过访客的IP得到他们的地区
    发布日期:2018-03-26
  • 合并两个PHP对象的最好的方法是什么?
    发布日期:2018-03-26
  • 该如何把一该如何把一个对象转化成数组?
    发布日期:2018-03-26
  • 什么是输出缓冲区?
    发布日期:2018-03-26
  • 在PHP中怎么把用逗号分隔的字符串分隔在一个数组里?
    发布日期:2018-03-26
  • 在PHP中使用foreach循环时查找数组的最后一个元素
    发布日期:2018-03-26
关于好问
收集整理一些有用的问题和回答,造福中国的程序旺和IT喵们!
友情链接
起飞页 
相关信息
版权声明
Copyright © 2016 - 2022  苏州卡达网络科技有限公司 备案号:苏ICP备09008221号