变相怪杰 发表于 2015-2-3 23:44:40

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;
    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);
$flash = explode("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"",$ArrayTq);
$flash = "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"".$flash;
$flash = explode("</EMBED></object>",$flash);
$flash = $flash."</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);
$ArrayTqTem2=explode("</td></tr>",$ArrayTqTem2);
//$ArrayTqTem2=explode("<td>",$ArrayTqTem2);
$ArrayTqTem2=$ArrayTqTem2;
//风力
$ArrayTqTem3=explode("<tr><td>",$ArrayTq);
$ArrayTqTem3=explode("</td></tr>",$ArrayTqTem3);
//$ArrayTqTem3=explode("<td>",$ArrayTqTem3);
$ArrayTqTem3=$ArrayTqTem3;
//温度
$ArrayTqTem4=explode("<tr><td>",$ArrayTq);
$ArrayTqTem4=explode("</td></tr>",$ArrayTqTem4);
//$ArrayTqTem4=explode("<td>",$ArrayTqTem4);
$ArrayTqTem4=$ArrayTqTem4;
if( !$ArrayTqTem2 or !$ArrayTqTem3 or !$ArrayTqTem4)
{
return false;
}
//$TqVar=$ArrayTqTem2.",".$ArrayTqTem3."<br>气温:".$ArrayTqTem4;
$weather=$flash;
$weather=$ArrayTqTem2;
$weather=$ArrayTqTem3;
$weather=$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; ?><span><li><?php echo $weather; ?></li> <li><?php echo $weather; ?></li> <li><?php echo $weather; ?></li></span>
</div>
</body>
</html>
学习数据库了,MYSQL可算是PHP的黄金搭档了,不过,虽然话是这么说,你也可能恨不得把MYSQL给生吞活剥了,因为这一行一列的东东简直让自己头晕目眩。

再现理想 发表于 2015-2-4 06:26:21

在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、

兰色精灵 发表于 2015-2-9 17:36:26

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。

只想知道 发表于 2015-2-16 01:10:39

本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。

深爱那片海 发表于 2015-3-1 18:01:07

装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。

变相怪杰 发表于 2015-3-5 13:32:22

找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。

若天明 发表于 2015-3-11 13:53:57

如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,

小妖女 发表于 2015-3-18 15:44:45

如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,

谁可相欹 发表于 2015-3-23 07:56:59

不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。

第二个灵魂 发表于 2015-3-26 19:53:05

,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。

莫相离 发表于 2015-3-27 16:19:37

我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。

金色的骷髅 发表于 2015-3-31 18:25:45

兴趣是最好的老师,百度是最好的词典。

小女巫 发表于 2015-4-1 08:45:22

说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。

山那边是海 发表于 2015-4-3 04:26:46

作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。

简单生活 发表于 2015-4-7 14:56:03

首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。

老尸 发表于 2015-4-9 09:15:15

当然这种网站的会员费就几十块钱。

因胸联盟 发表于 2015-4-10 17:11:31

其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎

再见西城 发表于 2015-4-11 11:43:01

开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。

愤怒的大鸟 发表于 2015-4-20 11:44:21

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

不帅 发表于 2015-5-1 06:17:28

其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
页: [1] 2
查看完整版本: PHP网站制作之PHP实例教程:天色预告小偷PHP代码