A-A+

PHP的一些例程

2012年10月19日 PHP教程下载 暂无评论 阅读 244 views 次

一共有 16 个 php 源码小程序,非常适合新手朋友阅读,不过文档可能有点老了,里面的小程序还是蛮合适的,有计数器程序、Chart(图表)程序、简单留言簿程序、日期选择器、一个画饼程序、邮件发送程序、POP3、SMTP邮件收发程序、InString 函数程序、一个有关颜色的定义列表、Banner程序、圆饼图程序、一个日历程序、简单BBS程序(需MYSQL支持)、动态按钮程序、MIME邮件程序、EIME邮件程序、用户访问记录程序,因为是很老的一个文档了,当然里面讲解的实例也很老了,如果需要的话,可以适当的看下,其实意义不是太大,暂时先推荐了。

php例程里面的源码部分:一个很简单的php的计数器

// counter.php - 实现一个很简单的计数器
//
// 作者: Claus Radloff
//
// 描述:
// 这个计数器可以变成多重的计数器。因此,每一个 计数器可以自己得到自己
// 的身份证明。
//
// 前面的部分——是背景色以及数字的定义,你可能自行修改。
// 当然,如果背景色是透明的那就更好了。
//
// 以下是一些在 URL 中的参数:
// 例如:
// Simple Counter:
//
//
// 红色背景的计数器:
//
// 或者是:
//
//
// 红色背景,绿色前景,只有4位数的计数器
//
// 或是:
//
//
// 透明背景和红色前景的样式:
//
//

4/14/2000 Mouse Chen( litmouse@km169.net ) Translate it t
o Chinese

Header( "Content-type: image/gif");

require( "colors.php");

// 装载GD-Library
// Windows下是这条语句:dl("php3_gd.dll");
// 而 UNIX 就应该是下面这条:
dl( "php3_gd.so");

// 一些初始设定
$Font = 5;
$BGColor = GetColor( "black");
$BGTrans = False;
$FGColor = GetColor( "white");
$FGTrans = False;
$Length = 7;

// 取得输入参数
$query_string = getenv( "QUERY_STRING");

// 分析输入的参数
// 并分闻参数
$env_array = split( "&", $query_string);

// 把参数及其值分开,并把值转成 %XX的形式
while (list($key, $val) = each($env_array))
{
list($name, $wert) = split( "=", $val);

$name = urldecode($name);
$wert = urldecode($wert);

// 写入 $cgivars
$CGIVars[$name] = $wert;
}

// 用输入的参数重新设定初始值
if ($CGIVars[ "BGColor"])
{
if (ereg( "([0-9]*) ([0-9]*) ([0-9]*)", $CGIVars[ "BGColor
"], $tmp))
{
$BGColor[ "red"] = $tmp[1];
$BGColor[ "green"] = $tmp[2];
$BGColor[ "blue"] = $tmp[3];
}
else if (eregi( "transparent", $CGIVars[ "BGColor"]))
{
$BGTrans = True;
}
else
{
$BGColor = GetColor($CGIVars[ "BGColor"]);
}
}

if ($CGIVars[ "FGColor"])
{
if (ereg( "([0-9]*) ([0-9]*) ([0-9]*)", $CGIVars[ "FGColor
"], $tmp))
{
$FGColor[ "red"] = $tmp[1];
$FGColor[ "green"] = $tmp[2];
$FGColor[ "blue"] = $tmp[3];
}
else if (eregi( "transparent", $CGIVars[ "FGColor"]))
{
$FGTrans = True;
}
else
{
$FGColor = GetColor($CGIVars[ "FGColor"]);
}
}

if ($CGIVars[ "Length"])
{
$Length = $CGIVars[ "Length"];
}

$SizeX = $Length * 13;
$SizeY = 16;

// 读入 counter-文件
if (file_exists( "counter.txt"))
{
$fp = fopen( "counter.txt", "rt");
while ($Line = fgets($fp, 999))
{
if (ereg( "([^ ]*) *([0-9]*)", $Line, $tmp))
{
$CArr[ "$tmp[1]"] = $tmp[2];
}
}

fclose($fp);

// 得到计数器的标志
$Counter = $CArr[$CGIVars[ "Identifier"]];
$Counter += 1;
$CArr[$CGIVars[ "Identifier"]] = $Counter;
}
else
{
// 新的计数器初值为1
$CArr[$CGIVars[ "Identifier"]] = 1;
$Counter = 1;
}

// 写入计数器文件中
$fp = fopen( "counter.txt", "wt");

reset($CArr);
while (list($Key, $Value) = each($CArr))
{
$tmp = sprintf( "%s %d\n", $Key, $Value);
fwrite($fp, $tmp);
}

fclose($fp);

$Counter = sprintf( "%0".$Length. "d", $Counter);

// 创建 image
$img = ImageCreate($SizeX + 4, $SizeY + 4);

ImageInterlace($img, 1);

// 透明颜色
$trans = ImageColorAllocate($img, 1, 1, 1);
ImageColorTransparent($img, $trans);

// 填充背景色
if ($BGTrans)
{
ImageFill($img, 1, 1, $trans);
}
else
{
$col = ImageColorAllocate($img, $BGColor[ "red"], $BGColor[
"green"],
$BGColor[ "blue"]);
ImageFill($img, 1, 1, $col);
}

// 输出数字
if ($FGTrans)
{
$col = $trans;
}
else
{
$col = ImageColorAllocate($img, $FGColor[ "red"], $FGColor[
"green"],
$FGColor[ "blue"]);
}

$PosX = 0;
for ($i = 1; $i <= strlen($Counter); $i++) { ImageString($img, $Font, $PosX + 3, 2 + $i % 2, substr($Counter, $i - 1, 1), $col); if ($i != 1) { ImageLine($img, $PosX, 0, $PosX, $SizeY + 4, $trans); } $PosX += 13; } // 输出图片 ImageGif($img); ImageDestroy($img); [/code] 点击下载此文件

给我留言