如何检查web连接是否已建立


How to check if the web connection is established?

消除歧义:"connection"并不意味着数据库连接。

真正的问题

场景1:我正在从第三方网站获取天气信息,它运行良好。突然,我的客户抱怨它坏了,并显示出错误。然后很快,我只是简单地注释了代码。

场景2:假设我将谷歌字体嵌入到我的网站中,它看起来很好。突然间,谷歌的服务在一个国家被禁止了,我的网站看起来很笨。

可能解

如果我能放一个像这样的检查器

<?php
// suppose this is the URL of my connection I need to connect my site on loading
$connection = http://www.feed-from-somewhere.com/feed/my-feed123
if ( isset( $connection ) ) {
   // show the feed from 3rd party site
} else {
   // do my backup plan for the feed instead
}
?>

但我找不到任何办法。如果我能做这样的事情,那就更好了,因为所有这样的第三方共享和网站在未来不会出现故障。

正在等待一个好的解决方案。。。

也许您可以在php中尝试fopen()函数。如php.net fopen()--中所述

"如果文件名的格式为"scheme://...",假定为URLPHP将搜索协议处理程序(也称为包装器)为该计划。"…

例如:

@$connection = fopen("http://iewuhf.com/", "r");
//note @ is used to suppress the error ortherwise, if connection fails, a warning 
//will be displayed 
if(!$connection){
 echo 'false';
}else{
 echo 'true';
}