PHPÐÂÊÖÉÏ·£¨Áù£©
½¨ÉèÒ»¸ö¼òµ¥½»»¥µÄÍøÕ¾(¶þ)
5.5 ¼ÆÊýQ
¡¡¡¡ÈÃÎÒÃÇÔÚÊ×Ò³ÉϼÓÉÏÒ»¸ö¼ÆÊýQ¡£Õâ¸öÀý×ÓÒѾ±»½²¹ý¶à´ÎÁË£¬µ«ÊÇ»¹ÊÇÓÐÀûÓÚÑÝʾÔõÑù¶ÁдÎļþÒÔ¼°´´½¨×Ô¼ºµÄº¯Êý¡£counter.inc°üº¬ÒÔÏ´úÂ룺
<?
/*
|| Ò»¸ö¼òµ¥µÄ¼ÆÊýQ
*/
function get_hitcount($counter_file)
{
/* ½«¼ÆÊýQ¹éÁã
ÕâÑùÈç¹û¼ÆÊýQ»¹Î´±»Ê¹Ó㬳õʼֵ½«ÊÇ1
Ä㵱ȻҲ¿ÉÒ԰ѳõʼֵÉè³É20000À´ÆÈË¿©
*/
$count=0;
// Èç¹û´æ·Å¼ÆÊýQÎļþÒѾ´æÔÚ£¬¶ÁÈ¡ÆäÖеÄÄÚÈÝ
if ( file_exists($counter_file) )
{
$fp=fopen($counter_file,"r");
// ÎÒÃÇֻȡÁËǰ20λ£¬Ï£ÍûÄãµÄÕ¾µã²»ÒªÌ«ÊÜ»¶Ó°¡
$count=0+fgets($fp,20);
// ÓÉÓÚº¯Êýfgets()·µ»Ø×Ö·û´®£¬ÎÒÃÇ¿ÉÒÔͨ¹ý¼Ó0µÄ·½·¨½«Æä×Ô¶¯×ª»»ÎªÕûÊý
fclose($fp);
// ¶ÔÎļþcao×÷Íê±Ï
}
// Ôö¼ÓÒ»´Î¼ÆÊýÖµ
$count++;
// ½«ÐµļÆÊýֵдÈëÎļþ
$fp=fopen($counter_file,"w");
fputs($fp,$count);
fclose($fp);
# ·µ»Ø¼ÆÊýÖµ
return ($count);
}
?>
È»ºóÎÒÃǸü¸Äfront.php3ÎļþÒÔÏÔʾÕâ¸ö¼ÆÊýQ£º
<?
include("include/counter.inc");
// ÎҰѼÆÊýÖµ·ÅÔÚÎļþcounter.txtÖУ¬¶Á³ö²¢Êä³ö
printf ("<CENTER><B>%06d</B></CENTER> <BR> n",
get_hitcount("counter.txt"));
include("include/footer.inc");
?>
¿´¿´ÎÒÃǵÄÐÂfront.php3
5.6 ·´À¡±íµ¥
¡¡¡¡ÈÃÎÒÃÇÔÙÌí¼ÓÒ»¸ö·´À¡±íµ¥ÒÔ±ãÄãµÄä¯ÀÀÕßÌîд²¢e-mail¸øÄã¡£¾ÙÀýÀ´ËµÎÒÃÇÓÃÒ»Öֺܼòµ¥µÄ·½·¨ÊµÏÖËü£¬ÎÒÃÇÖ»ÐèÒªÁ½¸öÒ³Ãæ£ºÒ»¸öΪä¯ÀÀÕßÌṩÊäÈë±íµ¥£»Ò»¸ö»ñµÃ±íµ¥Êý¾Ý²¢´¦Àí¡¢mail¸øÄã¡£
¡¡¡¡PHPÖлñÈ¡±íµ¥Êý¾ÝÊǺܼòµ¥µÄ¡£µ±Ò»¸ö±íµ¥±»·¢ËÍºó£¬±íµ¥ÖÐËù°üº¬µÄ¸÷¸öÔªËØ±»¸³ÉÏÁËÏàÓ¦µÄÖµ£¬¶øÕâÑù¾Í¿ÉÒÔÏñÒýÓÃÒ»°ã±äÁ¿Ò»ÑùʹÓÃÁË¡£
<FORM name="myform" ACTION="process_form.php3" METHOD="POST">
<INPUT TYPE="TEXT" NAME="mytext" VALUE="Some Value">
</FORM>
¡¡¡¡ÔÚprocess_form.php3ÖУ¬±äÁ¿$mytext¾Í±»¸³ÓèÁËÊäÈëµÄÖµ--·Ç³£¼òµ¥£¡Í¬ÑùµÄ£¬Äã¿ÉÒÔ´ÓÁбí¿ò¡¢¶àÑ¡¿ò¡¢µ¥Ñ¡¿ò¡¢°´Å¥µÈ±íµ¥ÔªËØÖÐÈ¡µÃ±äÁ¿Öµ¡£ÄãΨһҪ×öµÄ¾ÍÊÇΪ±íµ¥ÖеÄÿһ¸öÔªËØÈ¡ÃûÒԱ㽫À´¿ÉÒÔÒýÓá£
¡¡¡¡¸ù¾ÝÕâ¸ö·½·¨£¬ÎÒÃÇ¿ÉÒÔÉú³ÉÒ»¸ö¼òµ¥µÄ°üº¬Èý¸öÔªËØµÄ±íµ¥£ºÐÕÃû¡¢e-mailµØÖ·ºÍÁôÑÔ¡£µ±ä¯ÀÀÕß·¢ËÍ±íµ¥ºó£¬´¦Àí¸Ã±íµ¥µÄPHPÒ³Ãæ£¨sendfdbk.php3£©¶ÁÈ¡Êý¾Ý£¬¼ì²éÐÕÃûÊÇ·ñΪ¿Õ£¬×îºó½«Êý¾Ýmail¸øÄã¡£
±íµ¥£ºform.php3
<?
include("include/common.inc");
$title = "Feedback";
include("include/header.inc");
?>
<P>
<FORM ACTION="sendfdbk.php3" METHOD="POST">
<INPUT TYPE="text" NAME="name" value="Your name" SIZE="20" MAXLENGTH="30">
<INPUT TYPE="text" MAXLENGTH="40" WIDTH="20" value="Your Email" NAME="email">
<BR>
<TEXTAREA ROWS="7" COLS="40" NAME="comment">
Your feedback on my home page.
</TEXTAREA>
<BR>
<INPUT TYPE="submit" VALUE="Send Feedback!">
</FORM>
</P>
<?
include("include/footer.inc");
?>
´¦Àí±íµ¥£ºsendfdbk.php3
<?
include("include/common.inc");
$title = "Feedback";
include("include/header.inc");
if ( $name == "" )
{
// ÏÖÔÚÎÒºÜÌÖÑáÄäÃûµÄÁôÑÔ£¡
echo "Duh ? How come you are anonymous?";
}
elseif ($name == "Your name")
{
// Õâ¸öä¯ÀÀÕßÕæÊDz»Ïë͸¶ÐÕÃû°¡£¡
echo "Hello ? <B>Your name</B> is supposed to be replaced with
your actual name!</B>";
}
else
{
// Êä³öÒ»¶ÎÀñòµÄ¸ÐлÓï
echo "
Hello, $name.
<BR>
Thank you for your feedback. It is greatly appreciated.
<BR>
Thanking you
<BR>
$MyName <BR>
$MyEmailLink
";
// ×îºómail³öÈ¥
mail($MyEmail, "Feedback.","
Name : $name
E-mail : $email
Comment : $comment
");
}
include("include/footer.inc");
?>
¡¡¡¡×¢Ò⣺Èç¹ûÔÚÄãµÄ²âÊÔ¹ý³ÌÖУ¬¸Ã³ÌÐòÄ©ÄÜÕý³£¹¤×÷£¬Çë²é¿´ÄãµÄPHPÅäÖÃÎļþ(PHP3Ϊphp3.ini,PHP4Ϊphp.in)ÓÐûÓÐÉèÖúá£ÒòΪ±¾³ÌÐòÐèÒªÄúµÄPHPÅäÖÃÎļþ×÷ÈçϵÄÉèÖãº
¡¡¡¡Ê×ÏÈ£¬ÓÃNotePad´ò¿ªÄãµÄphp3.ini»òÊÇphp.iniÎļþ£¬²é¿´Ò»ÏÂ[mail function]ÓÐûÓÐÉèÖúã¬Ä¬ÈϵÄÇé¿öÈçÏÂËùʾ£º
SMTP = localhost
sendmail_from =
me@localhost.com ¸øSMTPÉèÖÃSMTP·þÎñQ£¬×îºÃÊÇÄãµ±µØµÄSMTP·þÎñQ£¬ÎÒÕâÀïÒÔ21cnµÄSMTP·þÎñQ×÷ΪÀý×Ó£¬È»ºó£¬ÔÚsendmail_from´¦ÌîÉÏÄãµÄE-MAILµØÖ·£¬ÀýÈç¿ÉÒԸijÉÕâÑù£º
SMTP = smtp.21cn.com
sendmail_from =
pert@21cn.com Ð޸ĺó²»ÒªÍüÁËÖØÆôApache,IIS»òPWS·þÎñŶ.
5.7 ¼òµ¥µÄÕ¾ÄÚËÑË÷ÒýÇæ
¡¡¡¡PHP¿ÉÒÔµ÷ÓÃÍⲿ³ÌÐò¡£ÔÚUnix»·¾³ÏÂÎÒÃÇ¿ÉÒÔÀûÓóÌÐògrepʵÏÖÒ»¸ö¼òµ¥µÄËÑË÷ÒýÇæ¡£ÎÒÃÇ¿ÉÒÔ×öµÄÉÔ΢¸´ÔÓһЩ£ºÊ¹ÓÃÒ»¸öÒ³Ãæ¼ÈÊä³öÒ»¸ö±íµ¥¹©Óû§ÊäÈëËÑË÷×Ö´®ÓÖÊä³ö²éѯ½á¹û¡£
<?
include("include/common.inc");
$title = "Search";
include("include/header.inc");
?>
<P>
<FORM ACTION="<? echo "$PHP_SELF"; ?>" METHOD="POST">
<INPUT TYPE="text" NAME="searchstr" value="<? echo "$searchstr"; ?>"
SIZE="20" MAXLENGTH="30">
<INPUT TYPE="submit" VALUE="Search!">
</FORM>
</P>
<?
if ( ! empty($searchstr) )
{
// empty()ÓÃÀ´¼ì²é²éѯ×Ö´®ÊÇ·ñΪ¿Õ
// Èç¹û²»Îª¿Õ£¬µ÷ÓÃgrep²éѯ
echo "<HR>n";
// µ÷ÓÃgrep¶ÔËùÓÐÎļþ½øÐдóСд·ÇÃô¸ÐģʽµÄ²éѯ
$cmdstr = "grep -i $searchstr *";
$fp = popen( $cmdstr, "r" ); // Ö´ÐÐÃüÁî²¢Êä³ö¹ÜµÀ
$myresult = array(); // ´æ´¢²éѯ½á¹û
while( $buffer = fgetss ($fp, 4096))
{
// grep·µ»ØÕâÑù¸ñʽ£º ÎļþÃû£ºÆ¥Åä×Ö´®³öÏÖÐÐÊý
// Òò´ËÎÒÃÇÀûÓú¯Êýsplit()·ÖÀë´¦ÀíÊý¾Ý
list($fname, $fline) = split(":",$buffer, 2);
// ÎÒÃÇÖ»Êä³öµÚÒ»´ÎÆ¥ÅäµÄ½á¹û
if ( !defined($myresult[$fname]))
$myresult[$fname] = $fline;
}
// ÏÖÔÚÎÒÃǽ«½á¹û´æ´¢ÔÚÊý×éÖУ¬ÏÂÃæ¾Í¿ÉÒÔ´¦Àí²¢Êä³öÁË
if ( count($myresult) )
{
echo "<OL>n";
while(list($fname,$fline) = each($myresult))
echo "<LI>
<A HREF="$fname">$fname</A> : $fline </LI>n";
echo "</OL>n";
}
else
{
// Èç¹ûûÓвéѯ½á¹û
echo "Sorry. Search on <B>$searchstr</B>
returned no results.<BR>n";
}
pclose($fp);
}
?>
<?
include("include/footer.inc");
?>
×¢ÊÍ£º
PHP_SELFÊÇPHPÄÚ½¨µÄ±äÁ¿¡£°üº¬µ±Ç°ÎļþÃû¡£
fgets()°´ÐжÁÈ¡Îļþ£¬×î¶à4096£¨Ö¸¶¨£©×Ö·û³¤¶È¡£
fgetss()Óëfgets()ÏàËÆ£¬Ö»ÊǽâÎöÊä³öµÄHTML±ê¼Ç¡£
split()ÓÐÒ»¸ö²ÎÊýÊÇ2£¬ÒòΪÎÒÃÇÖ»ÐèÒª°ÑÊä³ö·Ö³ÉÁ½²¿·Ö¡£ÁíÍâÐèҪʡÂÔ":"¡£
each()ÊÇÒ»¸öÊý×écao×÷º¯Êý£¬ÓÃÀ´¸ü·½±ãµÄ±éÀúÕû¸öÊý×é¡£
popen()¡¢pclose()Óëfopen()¡¢fclose()µÄ¹¦ÄܺÜÏàËÆ£¬Ö»ÊÇÔö¼ÓÁ˹ܵÀ´¦Àí¡£
Çë×¢ÒâÒÔÉϵĴúÂë²¢²»ÊÇʵÏÖÒ»¸öËÑË÷ÒýÇæµÄºÃ°ì·¨¡£ÕâÖ»ÊÇÓÐÖúÓÚÎÒÃǸüºÃѧϰPHP¶ø¾Ù³öµÄÒ»¸öÀý×Ó¶øÒÑ¡£ÀíÏëµÄÇé¿öÊÇÄãÓ¦¸Ã½¨Á¢Ò»¸ö°üº¬¹Ø¼ü×ÖµÄÊý¾Ý¿âÈ»ºó½øÐÐËÑË÷¡£