> I think the only way to detect if it can connect to the Internet is to
> see if you can grab a file from somewhere on the Internet. I'd hazard a
> guess that when operating systems are able to tell you they can "connect
> to the Internet" they are actually saying they can ping a predetermined
> remote host. I think checking if PHP can grab a remote file with Curl
> would be sufficient in this case.
Personally, I'd do a DNS lookup - even connecting to a server is a lot more
overhead than a simple DNS request. You could force the DNS server to be one
external to your network - e.g. dig @a.root-servers.net www.google.co.uk. If
the dig command fails, you're not connected.
Or just try and get the update anyway - if the download fails, you're not
connected (or there's something wrong with the update server.)