php程序设计经典300例,第21-25例

Posted PHP100中文网

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php程序设计经典300例,第21-25例相关的知识,希望对你有一定的参考价值。

第21例
check.php页面:


<?php
//图片上传到服务器

function fileext($filename)
{
return substr(strrchr($filename,'.'),1); //获取扩展名

}
function random($length)
{ //生成随机文件名函数
$hash='CR-';
$chars='abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz';
$max=strlen($chars)-1;
mt_srand((double)microtime()*1000000);
for($i=0;$i<$length;$i++)
{
$hash.=$chars(mt_rand(0,$max));
}
return $hash;
}

?>

form.php页面:


<form action="upload.php" method="post" enctype="multipart/form-data"><!--定义method属性-->
<table border="0" cellspacing="0" cellpadding="0" align="center" width="300px">
<tr>
<td width="55" height="20" align="center">
<input type="hidden" name="MAX_FILE_SIZE" value="2000000"/>文件:
</td>
<td height="16">
<input type="file" name="file" value="浏览"/>
</td>
</tr>
<tr>
<td align="center" colspan="2"><br />
<input type="submit" name="B1" value="上传"/>
</td>
</tr>
</table>
</form>


upload.php页面:
<?php

include("check.php");
$uploaddir="./files?";
$type=array("jpg","gif","bmp","jpeg","pan");//设置允许上传文件的类型
if(!in_array(strtolower(fileext($_FILES['file']['name'])),$type))//判断上传文件的类型是否在范围内
{
$text=implode(",",$type);
echo "您只能上传以下类型文件:",$text,"<br/>";
}else
{
$filename=explode(".",$_FILES['file']['name']);//获取文件名
do{
$filename[0]=random(10);
$name=implode(".",$filename);
$uploadfile=$upload.$name;
}
while(file_exists($uploadfile));
if(is_uploaded_file($_FILES['file']['tmp_name']))
{
if(move_uploaded_file($_FILES['file']['tmp_name'],$uploadfile))
{
echo "<center>您的文件已经上传完毕 上传图片预览:</center><br/><center><img src='$uploadfile'></center";
echo "<br/><center><a href='javascript:history.go(-1)'>继续上传</a></center>";
}else
{
echo "上传失败";
}
}
}
?>


第22例


<!--在外部文件中读取并显示用户协议-->

<table width="100" border="0" cellpadding="1" cellspacing="1" bgcolor="#cccccc">
<tr>
<td bgcolor="#ffffff">
<!--写文本内容要加载区-->

</td>
</tr>
</table>
<form action="zhuce.php" method="post" name="register" id="form">
<input type="hidden" name="action" id="action" value="agree"/>
<input type="submit" name="submit" value="同意"/>
</form>
<form action="" method="post" name="form" id="from">
<a href="index.php">
<input type="reset" name="reset1" id="reset1" value="不同意"/>
</a>
</form>


第23例


<!--不区分大小写输入的用户登录名-->

<form action="check.php" method="post">
<table width="250px" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#cccccc">
<tbody>
<tr>
<td colspan="2" height="25" bgcolor="#f7f7f7" align="center">
用户登录——不区分大小写
</td>
</tr>
</tbody>
<tr>
<td width="20%" height="25" align="right" bgcolor="#f7f7f7">
用户名:
</td>
<td height="25" bgcolor="#f7f7f7">
<input style="" name="username" type="text" id="username"/>
</td>
</tr>
<tr>
<td height="25" align="right" bgcolor="#f7f7f7">
密码:
</td>
<td height="25" bgcolor="#f7f7f7">
<input type="password" name="userpwd" id="password"/>
</td>
</tr>
<tr align="center">
<td height="25" colspan="2" align="right" bgcolor="#f7f7f7">
</td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="39%" align="right">
<span style="word-spacing: 0px; margin:0px ; margin-bottom: 0px;" >
<input type="submit" name="login" id="login" value="登录"/>
</span>
</td>
<td width="61%">
<input type="reset" name="reset" id="reset" value="重置"/>
</td>
</tr>
</table>
</form>


第24例


倒计时某些赛事

<?php
header("Content-Type:text/html;charset=utf-8");
$i=time();
$x=strtotime("2015-04-5 00:00:00");;
$d=round(($x-$i)/3600/24);
echo "<b>距离清明节还有:<font color='red'>".$d."</form>天</b>";
?>


第25例

index.php页面:
读取外部文本并分页


function m_substr($str,$start,$length)
{
$str_length=$start=$length;
$tmp_str="";
for($i-0;$i<$str_length;$i++)
{
if(ord(substr($str,$i,1))==0x0a)
{
$tmp_str.='<br/>';
}
if(ord(substr($str,$i,1))>0x0a)
{
$tmp_str.=substr($str,$i,2);
$i++;
}else
{
$tmp_str.=substr($str,$i,1);
}
}
retun $tmp_str;
}


?>
<body>
<div id="header">
<b>文本文件内容分页显示</b>
</div>
<div id="content">
<div id="show">
<p>
<?php
/*此处省略自定义函数m_substr()具体实现*/
if(isset($_GET['page']))
{
$page=$_GET['page'];
}else{
$page=1;
}
$counter=file_get_contents("example.txt");
$length=strlen($counter);
$page_count=ceil($length/400);
$str=m_substr($counter,0,($page-1)*400);
$str1=m_substr($counter,0,$page*400);
echo substr($str1,strlen($str),strlen($str1)-strlen($str));
?>
</p>
</div>
<center>
<span>
<?php
echo "当前页:".$page."/".$page_count."&nbsp";
echo "<a herf=index.php?page=1>首页</a>";
if($page>1)
{
echo "<a herf=index.php?page=".($page-1).">上一页</a>";
}
if($page<$page_count)
{
echo "<a herf=index.php?page=".($page+1).">下一页</a>";
}
echo "<a herf=index.php?page=".$page_count.">尾页</a>";

?>
</span>
</center>
</div>
<div id="footer"><br />文本分页</div>
</body>


点击“阅读全文”,进入学习互动论坛开启PHP学习之路,融入新的互联网时代。


以上是关于php程序设计经典300例,第21-25例的主要内容,如果未能解决你的问题,请参考以下文章

PHP经典设计模式--单例模式 pfinal

C语言程序设计50例(三)(经典收藏)

PHP经典设计模式

经典抽奖概率算法

C语言程序设计50例(二)(经典收藏)

理解php单例模式