fopen不能打开远程网页文件. 打开远程文件的条件有:1、php.ini中allow_url_fopen=On2、php程序与目标地址间没有代理服务器 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 哦,原来如此,我的电脑是局域网,用自己的帐号密码通过代理服务器上网的,那我要实现这个功能该怎么办?是不是要用socket? 是的,可以用socket和curl用socket需先用socket连接代理服务器,然后将目标路径通过代理发出用curl简单一些,只要设置代理就可以了 用file_get_contents不是也可以得到远程文件吗? 既然fopen和file函数都不行,那file_get_contents也应该一样了吧,都是要经过代理服务器.所以,还是看看socket和curl吧,查手册去了,搞不定再回来:) 继续讨论:)手册上说curl要安装才能用,那我要是放在虚拟空间上,它有没有这个支持呢?还有要学socket在哪里有资料啊?一开始,有点晕呢! 是您的php版本太低了,要php4.3以上才支持fopen远程文件 $service_port = getservbyname("www", "tcp"); $address = "www.baidu.com"; $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); $result = socket_connect($socket, $address, $service_port); $in = "GET / HTTP/1.1\r\n"; $in .= "Host: www.baidu.com \r\n"; $in .= "Connection: close\r\n\r\n"; socket_write($socket, $in, strlen($in)); $str = ""; while ($out = socket_read($socket, 4096)) { $str .= $out; } socket_close($socket); <?php/*作者:[email protected]网址:http://www.miw.cn/blog用途:一段简单明了的抓取网页内容的代码环境:w2k3+apache 2.x+php 5.x网络:本地局域网+宽带路由上网*/$theURL = "http://blog.freshwired.net/core.php?show=blogview&blogid=160380&bcid=50311";$theFlag1 = "<!--Start of Content-- //-->";$theFlag2 = "<!-- End of Content //-->";echo GetContents($theURL,$theFlag1,$theFlag2);function GetContents($url,$StartFlag,$FinFlag){$contents = file_get_contents($url);eregi("$StartFlag.(.*).$FinFlag",$contents,$regs);return $regs[1];}?> cookies的问题。 点击后退按钮怎么显示隐藏区域 求define讲解 PHP爱好者贡献的论坛,需要大家来提升人气 这样写不对吗?请指教。 如何在一个button按下后调用一个php,这个php是用来生成pdf报表的。 headers_sent()的问题 我怎么才能让留言时间和北京时间对应呀?它显示的是服务器时间,怎么改呀? 急!急!急!关于php4中session 关于页面跳转 求一关于取得无限分类结构的函数 唠叨大哥请进!!!
用socket需先用socket连接代理服务器,然后将目标路径通过代理发出
用curl简单一些,只要设置代理就可以了
手册上说curl要安装才能用,那我要是放在虚拟空间上,它有没有这个支持呢?
还有要学socket在哪里有资料啊?一开始,有点晕呢!
$address = "www.baidu.com"; $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$result = socket_connect($socket, $address, $service_port); $in = "GET / HTTP/1.1\r\n";
$in .= "Host: www.baidu.com \r\n";
$in .= "Connection: close\r\n\r\n";
socket_write($socket, $in, strlen($in)); $str = "";
while ($out = socket_read($socket, 4096))
{
$str .= $out;
} socket_close($socket);
/*
作者:[email protected]
网址:http://www.miw.cn/blog
用途:一段简单明了的抓取网页内容的代码
环境:w2k3+apache 2.x+php 5.x
网络:本地局域网+宽带路由上网
*/
$theURL = "http://blog.freshwired.net/core.php?show=blogview&blogid=160380&bcid=50311";
$theFlag1 = "<!--Start of Content-- //-->";
$theFlag2 = "<!-- End of Content //-->";
echo GetContents($theURL,$theFlag1,$theFlag2);function GetContents($url,$StartFlag,$FinFlag){
$contents = file_get_contents($url);
eregi("$StartFlag.(.*).$FinFlag",$contents,$regs);
return $regs[1];
}
?>