1. 留言显示页面
2. 发布留言,并允许上传图片
3. 输入密码登录后可以删除留言。
1. 文件目录
upfile是保存上传图片的目录。
2. 主要界面
(1)首页,显示留言页面
(2)发表留言页面
3. XML文档格式,名称为data.xml
各字段的含义不多说,各元素的值看起来有点怪,是因为我使用了base64_encode对字符串进行了编码。
4 主要页面代码
(1)add.php
此页只是纯粹的HTML代码
<form action="saveadd.php" enctype="multipart/form-data" method="post" onsubmit="return go(this)">
<table>
<tr>
<td>作者</td>
<td><input type="text" size="10"></td>
</tr>
<tr>
<td>标题</td>
<td><input type="text" size="50"></td>
</tr>
<tr>
<td>表情</td>
<td>
<select size="1" onchange="change_img();">
<option value="smile.gif">微笑</option>
<option value="biggrin.gif">耿直</option>
<option value="victory.gif">胜利</option>
<option value="tongue.gif">舌头</option>
<option value="titter.gif">窃笑</option>
<option value="cry.gif">哭泣</option>
<option value="curse.gif">生气</option>
<option value="huffy.gif">愤怒</option>
<option value="mad.gif">疯狂</option>
<option value="sad.gif">哀伤</option>
<option value="shocked.gif">震惊</option>
<option value="shy.gif">害羞</option>
<option value="sleepy.gif">困倦</option>
<option value="sweat.gif">汗</option>
</select>
<img src="https://www.jb51.net/smiles/smile.gif">
</td>
</tr>
<tr>
<td>内容</td>
<td><textarea cols="70" rows="10"></textarea></td>
</tr>
<tr>
<td>截图</td>
<td><input type="file" size="50"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="提交"/></td>
</tr>
</table>
</form>
(2)savadd.php
用于保存留言信息
<?php
if(!$_POST["author"] || !$_POST["content"])
{
echo "<meta http-equiv=\"refresh\" content=\"2;url=index.php\">\n";
echo "你没有填写留言姓名或内容,2秒钟返回首页";
exit();
}else{
$imgflag=0; //用于判断是否需要上传图片
function random($length) //此函数用于生成一个随机的图片文件名(不含扩展名),以防止与现有图片重复
{
$hash = 'IMG-';
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
$max = strlen($chars) - 1;
for($i = 0; $i < $length; $i++) //从上面的字符串中随机找length长度个字符
{
$hash .= $chars[mt_rand(0, $max)];
}
return $hash;
}
function fileext($filename) //此函数用于获取上传文件的扩展名
{
return substr(strrchr($filename, '.'), 1);
}
if($_FILES["upfile"]["name"]!=""){
$uploaddir="https://www.jb51.net/upfile/"; //图片保存路径
$type=array("jpg","gif","bmp","jpeg","png"); //允许上传的文件类型
if(!in_array(strtolower(fileext($_FILES['upfile']['name'])),$type)) //如果上传的文件的扩展名不符合要求
{
echo "<meta http-equiv=\"refresh\" content=\"2;url=index.php\">\n";
$text=implode(",",$type);
echo "您只能上传以下类型文件: ",$text,"<br>";
exit();
}
else
{
$filename=explode(".",$_FILES['upfile']['name']);
do
{
$filename[0]=random(10);
$randname=implode(".",$filename); //得到的最终随机生成的文件名(连同扩展名)
$uploadfile=$uploaddir.$randname;
} while(file_exists($uploadfile));