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

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

-----上一讲里,我们已经实现了首页新闻发布的基本功能。在这一讲里,我们再给它添砖加瓦,使它的功能更为强大。(一个好用的软件,其实也就是基本功能加上一批附属功能,这些附属功能主要也是图个方便而已,呵呵)
-----首先,我们再明确一下我们想获得什么方便。我们不希望几十天以前的东西我们忘了删除,结果还作为新闻发布在首页(很丢脸的哦^&^)。如果我们在基本实现中嵌入一段代码,比如说用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>";
}
?>

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

时间: 2016-07-02

PHP个人网站架设连环讲(四)的相关文章

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

三 首页新闻发布,让你更新更轻松(下) -----上一讲里,我们已经实现了首页新闻发布的基本功能.在这一讲里,我们再给它添砖加瓦,使它的功能更为强大.(一个好用的软件,其实也就是基本功能加上一批附属功能,这些附属功能主要也是图个方便而已,呵呵) -----首先,我们再明确一下我们想获得什么方便.我们不希望几十天以前的东西我们忘了删除,结果还作为新闻发布在首页(很丢脸的哦^&^).如果我们在基本实现中嵌入一段代码,比如说用filectime($filename),那么在UNIX下,我们就可以得到从

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

这里和大家交流一下架设个人网站的经验.不妥之处,敬请指正! 一 编辑调试环境 win98本地编辑调试,爽不爽?先下一个Omnihttpd Proffesinal V2.06 ,装上就有PHP4beta3可以用了.如果你较懂HTML,推荐用EditPlus,相当好哦!否则只好用DreamWeaver先了.还要连数据库?幸好MySQL还有For WIN32的版本.  二 先来一个计数器 自己的计数器总比外来的好,敝帚自珍嘛!时下介绍的计数器源代码总是那种刷新一下就长,不免有些自欺欺人,呵呵.不过我们

PHP个人网站架设连环讲(一)_php基础

这里和大家交流一下架设个人网站的经验.不妥之处,敬请指正! 一 编辑调试环境 win98本地编辑调试,爽不爽?先下一个Omnihttpd Proffesinal V2.06 ,装上就有PHP4beta3可以用了.如果你较懂HTML,推荐用EditPlus,相当好哦!否则只好用DreamWeaver先了.还要连数据库?幸好MySQL还有For WIN32的版本.  二 先来一个计数器 自己的计数器总比外来的好,敝帚自珍嘛!时下介绍的计数器源代码总是那种刷新一下就长,不免有些自欺欺人,呵呵.不过我们

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

三 首页新闻发布,让你更新更轻松(上)  --------每次在首页中增加一条消息,加两句话,就得整个页面都上传一遍,真是不值!于是象蓝风这种懒汉就想了一个一劳永逸的办法,真正的动态实时,远程管理编辑,自动维护功能.也可以用来做虚拟社区的公告板.(如果改吧改吧,就可以把你的新闻中心的新闻在首页自动生成提要了,呵呵.)这么多功能,大家多多原谅,嘿嘿. --------先插几句题外话,我们做网站时,是用html中间点缀PHP呢,还是用PHP来生成html?专业的站点可以把一个功能集中在一页,通过这一

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

三 首页新闻发布,让你更新更轻松(中) 上次我们做了一个文件头(至于文件尾,请大家自己做,假设为tail.php),一个函数的模块,现在,我们来一个基本功能的实现,也就是动态发布啦 <?php include("makestr.php"; include("head.php"); $newspath="/announce/"; //以文本文件存放的新闻文件的目录 $newsfile=array();//准备新闻数组 $hd=dir($new

PHP个人网站架设连环讲(三)_php基础

三 首页新闻发布,让你更新更轻松(中) 上次我们做了一个文件头(至于文件尾,请大家自己做,假设为tail.php),一个函数的模块,现在,我们来一个基本功能的实现,也就是动态发布啦 <?php include("makestr.php"; include("head.php"); $newspath="/announce/"; //以文本文件存放的新闻文件的目录 $newsfile=array();//准备新闻数组 $hd=dir($new

浅谈网站架设是否是seo初学者的必经之路

最近在听百合seo歪歪语音课的时候,老是有人问起网站架设成为seo初学者的必经之路之类的问题,这让山东seo大惑不懈,难道学好网站架设真的是学好seo的必经之路?现在山东seo想就这一问题跟大家分享一下自己这么长时间关于网站架设和学习seo之间关系的心得体会,或许能对广大初学seo者有所帮助或启发. 就山东seo学习seo经历来讲,一开始也是面临本文开篇所提到的问题,当时老师就讲,学习seo不要把精力用在建站上,当时我对这一观点也像大家一样提出种种质疑,诸如:seo就是针对网站的,不会建站何谈s

IIS 6.0 安装与网站架设教程[图文]_win服务器

IIS 6.0网站架设 IIS是微软推出的一套架设WEB.FTP.SMTP服务器的整合系统组件,主要捆绑在微软的Windows 2003等服务器操作系统中.Windows 2003不仅集成有IIS 6.0,而且还带有一个web版本,专门用于web服务的各种web接口应用,功能极其完美. 一.IIS 6.0概述 IIS 6.0包含在Windows Server 2003服务器的四种版本之中:数据中心版.企业版.标准版和Web版.另外,再说一个最常见的IIS 6.0问题:IIS 6.0不能在Wind

如何用ASP编写网站统计系统(四) (转自gaoshan)

统计 如何用ASP编写网站统计系统(四) 本文只做方法探讨. 能采集数据我们都能采到了,那么我们就开始编制ASP的统计页面. 这一页我们叫计数页,counter.asp 这段asp代码我们需要让它按如下的流程进行采集数据并保存数据和更新数据: 采集用户名,判断用户名是否合法,采集访问者的信息,对信息进行加工,进行保存和更新数据库,返回logo图标. 调用这个ASP用counter.asp?user=abc这个方式. 采集用户名我们可以用Request对象的相应方法取得,然后检查用户表判断用户是否