PHP个人网站架设连环讲(四)


Posted in PHP onOctober 09, 2006

三 首页新闻发布,让你更新更轻松(下)

-----上一讲里,我们已经实现了首页新闻发布的基本功能。在这一讲里,我们再给它添砖加瓦,使它的功能更为强大。(一个好用的软件,其实也就是基本功能加上一批附属功能,这些附属功能主要也是图个方便而已,呵呵)
-----首先,我们再明确一下我们想获得什么方便。我们不希望几十天以前的东西我们忘了删除,结果还作为新闻发布在首页(很丢脸的哦^&^)。如果我们在基本实现中嵌入一段代码,比如说用filectime($filename),那么在UNIX下,我们就可以得到从1970年1月1日起以秒计到最后一次文件被改动的时间(在WINDOWS下返回的是文件生成的日期时间),而从 1970年1月1日起以秒计到现在的秒数可以用$mynow=mktime()来获得,减法,判断,IF >我们期望的时间,嘿嘿,Sorry,unlink($newspath.$filename)……什么?!您问这段代码应该放在哪儿?您说呢,呵呵。
或许,你并不是常在一台机器上上网,当你获得了一条新的新闻后却不在你的爱机旁,怎么办?最理想的莫过于在主页上上传文件咯。你或许有一个页面(Admin?)需要用密码才能进入(假如你还爱惜自己的网站的话,这是有必要的,最好连文件名都不要让别人知道,呵呵)。下面是一段到处可见的文件上载的代码:
<?
if(isset($upfile))
{
?>  

已上载的文件信息如下:
    文件存放路径  : <?echo $upfile;?>
    原始文件名    : <?echo $upfile_name;?>
    文件大小(字节): <?echo $upfile_size;?>
    文件类型      : <?echo $upfile_type;?>

<?
}  
else
{
?>
<html>
<head><title>新闻上传</title></head><body>  
<form enctype="multipart/form-data" method="post" action="<?echo $PHP_SELF;?>">  
<input type="hidden" name="MAX_FILE_SIZE" value="50000">
请选择或输入上传文件名: <input name="upfile" type="file">  
<input type="submit" value="上传" name="submit">
</form>
</body></html>  
<?
}
?>  

-----这里我们又见到了PHP和HTML结合的一种形式,可以借鉴。文件上载虽然方便,但总给人一种不安全感。一旦泄密,你的服务器的系统安全就受到了威胁,因为上载的文件可能是一些破坏性的执行文件(也就是病毒或黑客程序啦)稳妥的做法是写一个在线编辑的文件,下面是一个示例:

〈?php
function mywritefile($filename,$contents){
if($fp=fopen($filename,"w")){
fwrite($fp,strpslashes($contents));
fclose($fp);
return 1;
}  
else {return 0;};
};
//判断表单返回的变量
if($submitButton=="完成"){
$rs=mywritefile("$page","$test");
echo "<a href ="$page">$page</a><br>";
}
elseif($action=="page") //变量action值为"page"的情况
{$contents="$page";
$fp=@fopen($content,"w+")or die('Could not open file!');
$contents=htmlspecialchars($contents);
fclose($fp);
echo "<form action="admin.php?page=$page" method="POST" wrap=soft>";
echo "$contents";
echo "</textarea>";
echo "<input type="submit" name="submitButton" value="完成">";
echo "</form>";
}
else
{echo "<form action="basename($PHP_SELF).?action=page" method="POST">";//注意引用程序内变量的方式。
echo "<input type=text size=20 name=page>";
echo "<input type="submit" name="send" value="选定">";
echo "</form>";
}
?>

-----至此,首页新闻发布的实现已经可以告一段落了。 我们可以发现,任何一个功能(比较)强大的陈程式都是由一些简单的功能组合而成的。第三部分功能的整个完善过程使用叠加增强的方法,和软件工程的自顶向下,逐层分析的开发方法是不一样的。这是一个适用于学习的方法,自己写写习作还是挺管用的,呵呵。

PHP 相关文章推荐
PHP操作XML作为数据库的类
Dec 19 PHP
PHP笔记之:日期函数的使用介绍
Apr 24 PHP
php过滤敏感词的示例
Mar 31 PHP
PHP获取当前页面URL函数实例
Oct 22 PHP
php的ddos攻击解决方法
Jan 08 PHP
你应该知道PHP浮点数知识
May 13 PHP
php获取、检查类名、函数名、方法名的函数方法
Jun 25 PHP
搭建Vim为自定义的PHP开发工具的一些技巧
Dec 11 PHP
PHP并发多进程处理利器Gearman使用介绍
May 16 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
Jul 28 PHP
PHP后期静态绑定之self::限制实例分析
Dec 21 PHP
laravel 解决路由除了根目录其他都404的问题
Oct 18 PHP
用PHP+java实现自动新闻滚动窗口
Oct 09 #PHP
如何将数据从文本导入到mysql
Oct 09 #PHP
PHP个人网站架设连环讲(三)
Oct 09 #PHP
杏林同学录(九)
Oct 09 #PHP
我的论坛源代码(九)
Oct 09 #PHP
PHP个人网站架设连环讲(一)
Oct 09 #PHP
PHP个人网站架设连环讲(二)
Oct 09 #PHP
You might like
PHP 事件机制(2)
2011/03/23 PHP
第4章 数据处理-php数组的处理-郑阿奇
2011/07/04 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
BOOM vs RR BO5 第二场 2.14
2021/03/10 DOTA
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
2007/03/06 Javascript
javascript中字符串拼接需注意的问题
2010/07/13 Javascript
jquery里的正则表达式说明
2011/08/03 Javascript
js判断是否为数组的函数: isArray()
2011/10/30 Javascript
UpdatePanel和Jquery冲突的解决方法
2013/04/01 Javascript
如何使用Javascript获取距今n天前的日期
2013/07/08 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
2013/09/26 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
2020/11/18 Javascript
JS动态给对象添加事件的简单方法
2016/07/19 Javascript
cdn模式下vue的基本用法详解
2018/10/07 Javascript
js实现页面多个日期时间倒计时效果
2019/06/20 Javascript
Vue可自定义tab组件用法实例
2019/10/24 Javascript
[49:08]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
django基础之数据库操作方法(详解)
2017/05/24 Python
python求平均数、方差、中位数的例子
2019/08/22 Python
如何在Anaconda中打开python自带idle
2020/09/21 Python
学校司机岗位职责
2013/11/14 职场文书
受欢迎的大学生自我评价
2013/12/05 职场文书
解除合同协议书
2014/04/17 职场文书
幼儿评语大全
2014/04/30 职场文书
企业年度评优方案
2014/06/02 职场文书
邻里守望志愿服务活动方案
2014/08/15 职场文书
租房协议书
2014/09/12 职场文书
项目合作协议书
2014/09/23 职场文书
个人批评与自我批评材料
2014/10/17 职场文书
务虚会发言材料
2014/12/25 职场文书
红旗渠导游词
2015/02/09 职场文书
留学推荐信中文范文
2015/03/26 职场文书
员工加薪申请报告
2015/05/15 职场文书
python3 删除所有自定义变量的操作
2021/04/08 Python
Meta增速拉垮,元宇宙难当重任
2022/04/29 数码科技