我使用` PHP function.
But problem with this is it gives error when url starts from
www。
( ! ) Warning: file_get_contents(www.iiit.ac.in): failed to open stream: No such file or directory in F:\wamp\www\test.php on line 63
以下是此代码的演示:Link to DEMO
<?php
$url= 'www.facebook.com';
$data = file_get_contents($url);
echo $data;
echo "<br/>Using http";
$url= 'https://www.facebook.com';
$data = file_get_contents($url);
echo $data;
?>
答案 0 :(得分:2)
作为问题的解决方案,请尝试执行以下备用源代码段
<?php
$url= 'http://www.facebook.com';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result=curl_exec($ch);
curl_close($ch);
echo $result;
?>
答案 1 :(得分:1)
您需要使用该协议。 PHP不会采用协议。
如果您不控制这些字符串,请在输入验证时检查协议。如果它们不存在,则添加http://
。
答案 2 :(得分:1)
Facebook可能想要一个用户代理,请参阅PHP file_get_contents() and headers
使用正则表达式验证网址,请参阅PHP validation/regex for URL
或者这可能对你的情况更好:
答案 3 :(得分:0)
你可以简单地检查一下,网址是以http://开头的,还是https://以及。
$url = 'www.facebok.com';
if (substr($url, 0, 7) !== 'http://' && substr($url, 0, 8) !== 'https://') {
$url = 'http://' . $url;
}
echo $url;
上面的会返回http://www.facebook.com希望这会有所帮助。