一、用file_get_contents函数,以post方式获取url
<php
$url= '>
$data= array('foo'=> 'bar');
$data= >
$opts= array(
'>
'method'=> 'POST',
'header'=>"Content-type: application/x->
"Content-Length: " strlen($data) "\r\n",
'content'=> $data
)
);
$ctx= stream_context_create($opts);
$html= @file_get_contents($url,'',$ctx);
二、用file_get_contents以get方式获取内容
<php
$url='>
$html= file_get_contents($url);
echo$html;
>
三、用fopen打开url, 以get方式获取内容
<php
$fp= fopen($url,'r');
$header= stream_get_meta_data($fp);//获取报头信息
while(!feof($fp)) {
$result= fgets($fp, 1024);
}
echo"url header: {$header} <br>":
echo"url body: $result";
fclose($fp);
>
四、用fopen打开url, 以post方式获取内容
<php
$data= array('foo2'=> 'bar2','foo3'=>'bar3');
$data= >
$opts= array(
'>
'method'=> 'POST',
'header'=>"Content-type: application/x->
urlencoded\r\nCookie:cook1=c3;cook2=c4\r\n"
"Content-Length: " strlen($data) "\r\n",
'content'=> $data
)
);
$context= stream_context_create($opts);
$html= fopen('>
$w=fread($html,1024);
echo$w;
>
五、使用curl库,使用curl库之前,可能需要查看一下phpini是否已经打开了curl扩展
<php
$ch= curl_init();
$timeout= 5;
curl_setopt ($ch, CURLOPT_URL, '>
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents= curl_exec($ch);
curl_close($ch);
echo$file_contents;
>
php的页面其实就是html的页面,只是把部分内容动态化而已啊
你把只要动态的部分用php就行,内容太长可能是里面的引号出了问题。
比如你的html代码是这样
<html>
<body>
<a>77</a>
</body>
</html>
你的php代码写成这样就行,其它地方不变,问题就会出现得比较少
<html>
<body>
<a><php
$i = 77;
echo($i);></a>
</body>
</html>
1、使用file_get_contents获得网页源代码。这个方法最常用,只需要两行代码即可,非常简单方便。
2、使用fopen获得网页源代码。这个方法用的人也不少,不过代码有点多。
3、使用curl获得网页源代码。使用curl获得网页源代码的做法,往往是需要更高要求的人使用,例如当你需要在抓取网页内容的同时,得到网页header信息,还有ENCODING编码的使,USERAGENT的使用等等。所谓的网页代码,就是指在网页制作过程中需要用到的一些特殊的\"语言\",设计人员通过对这些\"语言\"进行组织编排制作出网页,然后由浏览器对代码进行\"翻译\"后才是我们最终看到的效果。制作网页时常用的代码有HTML,JavaScript,ASP,PHP,CGI等,其中超文本标记语言(标准通用标记语言下的一个应用、外语简称:HTML)是最基础的网页代码。
有三个原因:
第一个主因是网速,虽然你使用的是电信6M宽带,但网速还是无法与虚拟服务器相比,虚拟服务器所限制的网速一般只是上传速度,下载的速度并不限制,没有谁使用虚拟服务器去大量下载数据。
另外,虚拟主机再怎么差,连接到机房的到底是光纤而不是宽带,这一点毋庸置疑。
另一个原因是DNS,一个服务器提供商,都会在机房里设置自己的DNS服务器,这样会大大提高服务器的解析速度,同时还对外提供各种DNS解析服务,所以,虚拟主机的DNS速度,不是个人宽带可以比拟的,而个人电脑却需要使用宽带资源解析DNS。
第三个原因就是路由,个人宽带不是主干网,一般的空间商所接入的光纤却尽量与国家光纤主干距离很近,路由延迟极短,个个的宽带却完全不是一个概念,中间的路由延迟也是个可观的数字。
如果你的php页面和html页面不是同一个页面的话,可以将这个值存入cookie中,使用js就可以获取到。
如php存值在cookie中:setcookie("my_name","xiaoming",time()+3600);
那么在js中可以这样获取:
function getCookie(c_name) {if (documentcookielength > 0) {
c_start = documentcookieindexOf(c_name + "=")
if (c_start != -1) {
c_start = c_start + c_namelength + 1
c_end = documentcookieindexOf(";", c_start)
if (c_end == -1) c_end = documentcookielength
return unescape(documentcookiesubstring(c_start, c_end))
}
}
return ""
}
使用上面的这个函数:getCookie('my_name')就可以得到php端存的这个值“xiaoming”了。
第一个方法:
1、用css来实现IE7以上浏览器的缩略效果。
divimg{ max-width:50px; max-height:50px; } htmldivimg{width:expression(thiswidth>50&&thiswidth>thisheight50:auto); height:expresion(thisheight>5050:auto); }
说明: 这段代码是把等比例缩小为50px 50px,可以根据网页的宽度来自由修改尺寸。
2、万恶的IE6不识别上面的代码怎么办?
如果你的网页宽度为580像素,我们来看
ltop3 { line-height: 25px; font-size: 12px; overflow: hidden; width: 580px;}
这样的话,IE7会识别第一步的代码来自动缩略,而IE6会根据第二步的代码,如果内容超过网页宽度就自动隐藏,这就完美的解决了的缩略问题。
另外还有一个方法也告诉大家,希望有用。
第2个方法:
JS代码加到网页<BODY>前面
<SCRIPT language=JavaScript type=text/JavaScript>
//改变大小
function resizepic(thispic)
{
if(thispicwidth>400) thispicwidth=400;
}
//无级缩放大小
function bbimg(o)
{
var zoom=parseInt(ostylezoom, 10)||100;
zoom+=eventwheelDelta/12;
if (zoom>0) ostylezoom=zoom+'%';
return false;
}
</SCRIPT>
在属性加上onmousewheel="return bbimg(this)" onload="javascript:resizepic(this)" 代码即可让超过400像素的自动缩略。
以上就是关于php获取指定网页内容全部的内容,包括:php获取指定网页内容、PHP页面设计、如何用php获取网页源码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)