仓酷云

标题: PHP网站制作之PHP实例教程:天色预告小偷PHP代码 [打印本页]

作者: 变相怪杰    时间: 2015-2-3 23:44
标题: PHP网站制作之PHP实例教程:天色预告小偷PHP代码
建议大家买一本书,而不光是在网上看一些零碎的资料,一本书毕竟会讲的系统一些,全面一些,而且印刷的书不受电脑的限制,但是建议在看书的时候最好旁边有电脑,这样可以很及时地上机实践。   </p> 写得一个php天色小偷程
<?php
/***
天色预告
***/
function readAll($location)
{
$MAX_RETRY_NUM = 3;
if(preg_match("/(http:\/\/)?([^\/\:]+)(:\d{1,5})?(\/.+)?/", $location, $url))
{
  list(,,$host,$port,$path) = $url;
  $port = preg_replace("/:/", "", $port);
  $port = strlen($port) ? $port : 80;
  $path = strlen($path) ? $path : "/";
  $request  = "GET $path HTTP/1.0\r\n";
  $request .= "Host: $host\r\n";
  $request .= "Accept: */*\r\n";
  $request .= "Connection: close\r\n";
  $request .= "User-Agent: superspice"s BOT\r\n\r\n";
  $retry = 0;
  $do = false;
  do
  {
   if(@!$socket =fsockopen($host, $port, &$errMsg, &$errCode ))
   {
    return false;
   }
   fwrite($socket, $request);
   $flag = true;
   $header = "";
   $body = "";
   while(!feof($socket))
   {
    $line = fgets($socket, 128);
    if($flag)
    {
     if(trim(chop($line)) == "")
     {
      $flag = false;
     }
     else
     {
      $header .= $line;
     }
    }
    else
    {
     $body .= $line;
    }
   }
   if(preg_match("/Content-Length: (\d+)/", $header, $out))
   {
    $header_length = $out[1];
    if($header_length != strlen($body))
    {
     $do = true;
    }
    else
    {
     $do = false;
    }
   }
   if(is_resource($socket))
   {
    fclose($socket);
   }
   $retry ++;
  }while($do && $retry<$MAX_RETRY_NUM);
}
return $body;
}
function get_weather()
{
$TqUrl="http://www.ttqx.com.cn/forecast/area_weather.asp?city_name=合肥&zhou=yz";
$VaX1Tem=readAll($TqUrl);
if(!$VaX1Tem)
{
  return false;
}
settype($ArrayTq,"array");
$ArrayTq=explode("<!--天色预告入手下手-->",$VaX1Tem);
$ArrayTq=explode("<!--天色预告停止-->",$ArrayTq[1]);
$flash = explode("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"",$ArrayTq[0]);
$flash = "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"".$flash[1];
$flash = explode("</EMBED></object>",$flash);
$flash = $flash[0]."</EMBED></object>";
$pattern = array("/images\/weather/i","/WIDTH=\"65\" HEIGHT=\"70\"/i");
$replace = array("http://www.ttqx.com.cn/forecast/images/weather","WIDTH=\"51\" HEIGHT=\"55\"");
$flash = preg_replace($pattern,$replace,$flash);
//天色
$ArrayTqTem2=explode("<tr><td>",$ArrayTq[0]);
$ArrayTqTem2=explode("</td></tr>",$ArrayTqTem2[1]);
//$ArrayTqTem2=explode("<td>",$ArrayTqTem2[0]);
$ArrayTqTem2=$ArrayTqTem2[0];
//风力
$ArrayTqTem3=explode("<tr><td>",$ArrayTq[0]);
$ArrayTqTem3=explode("</td></tr>",$ArrayTqTem3[2]);
//$ArrayTqTem3=explode("<td>",$ArrayTqTem3[0]);
$ArrayTqTem3=$ArrayTqTem3[0];
//温度
$ArrayTqTem4=explode("<tr><td>",$ArrayTq[0]);
$ArrayTqTem4=explode("</td></tr>",$ArrayTqTem4[3]);
//$ArrayTqTem4=explode("<td>",$ArrayTqTem4[0]);
$ArrayTqTem4=$ArrayTqTem4[0];
if( !$ArrayTqTem2 or !$ArrayTqTem3 or !$ArrayTqTem4)
{
  return false;
}
//$TqVar=$ArrayTqTem2.",".$ArrayTqTem3."<br>气温:".$ArrayTqTem4;
$weather[0]=$flash;
$weather[1]=$ArrayTqTem2;
$weather[2]=$ArrayTqTem3;
$weather[3]=$ArrayTqTem4;
return $weather;
}
$weather = get_weather();
?>
下面写的是php文件,你没有echo固然不克不及正常显示啦
<?php
error_reporting(0);
include_once ("../include/weather.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>天色预告</title>
<style>
html,body {margin:0;padding:0; font-size:12px;}
div {width:178px; height:58px;position:relativ;position:relative}
img {width:178px; height:58px; z-index:1;position:absolute; border:0}
object { margin-top:2px; margin-left:8px;}
span{position:absolute;top:2px;right:12px;}
li{font-family:Verdana,宋体;list-style:none;margin-top:3px; letter-spacing:1px;}
</style>
</head>
<body>
<div>
<a href="http://www.ttqx.com.cn/tqyb/" target="_blank"><img src=http://www.webjx.com/php/2009-08-08/"http://links.ezz.cc/blank.gif" /></a><?php echo $weather[0]; ?><span><li><?php echo $weather[1]; ?></li> <li><?php echo $weather[2]; ?></li> <li><?php echo $weather[3]; ?></li></span>
</div>
</body>
</html>
学习数据库了,MYSQL可算是PHP的黄金搭档了,不过,虽然话是这么说,你也可能恨不得把MYSQL给生吞活剥了,因为这一行一列的东东简直让自己头晕目眩。
作者: 再现理想    时间: 2015-2-4 06:26
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
作者: 兰色精灵    时间: 2015-2-9 17:36
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者: 只想知道    时间: 2015-2-16 01:10
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者: 深爱那片海    时间: 2015-3-1 18:01
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
作者: 变相怪杰    时间: 2015-3-5 13:32
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
作者: 若天明    时间: 2015-3-11 13:53
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者: 小妖女    时间: 2015-3-18 15:44
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者: 谁可相欹    时间: 2015-3-23 07:56
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
作者: 第二个灵魂    时间: 2015-3-26 19:53
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
作者: 莫相离    时间: 2015-3-27 16:19
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者: 金色的骷髅    时间: 2015-3-31 18:25
兴趣是最好的老师,百度是最好的词典。
作者: 小女巫    时间: 2015-4-1 08:45
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者: 山那边是海    时间: 2015-4-3 04:26
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
作者: 简单生活    时间: 2015-4-7 14:56
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
作者: 老尸    时间: 2015-4-9 09:15
当然这种网站的会员费就几十块钱。
作者: 因胸联盟    时间: 2015-4-10 17:11
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
作者: 再见西城    时间: 2015-4-11 11:43
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
作者: 愤怒的大鸟    时间: 2015-4-20 11:44
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
作者: 不帅    时间: 2015-5-1 06:17
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
作者: 透明    时间: 2015-5-7 15:23
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2