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校验ISBN码的函数代码
Jan 17 PHP
解析PHP的session过期设置
Jun 29 PHP
php addslashes 利用递归实现使用反斜线引用字符串
Aug 05 PHP
PHP Session机制简介及用法
Aug 19 PHP
PHP面向对象精要总结
Nov 07 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
Feb 02 PHP
ThinkPHP3.2.3数据库设置新特性
Mar 05 PHP
php使用ffmpeg获取视频信息并截图的实现方法
May 03 PHP
谈谈PHP连接Access数据库的注意事项
Aug 12 PHP
thinkPHP框架实现图像裁剪、缩放、加水印的方法
Mar 14 PHP
tp5实现微信小程序多图片上传到服务器功能
Jul 16 PHP
如何重写Laravel异常处理类详解
Dec 20 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实现Socket服务器的代码
2008/04/03 PHP
php防止伪造数据从地址栏URL提交的方法
2014/08/24 PHP
php实现按指定大小等比缩放生成上传图片缩略图的方法
2014/12/15 PHP
php使用memcoder将视频转成mp4格式的方法
2015/03/12 PHP
学习php设计模式 php实现状态模式
2015/12/07 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
2016/01/19 PHP
浅析Yii2 gridview实现批量删除教程
2016/04/22 PHP
php 常用的系统函数
2017/02/07 PHP
深入理解JavaScript系列(15) 函数(Functions)
2012/04/12 Javascript
当前流行的JavaScript代码风格指南
2014/09/10 Javascript
javascript 实现 原路返回
2015/01/21 Javascript
jQuery简单实现日历的方法
2015/05/04 Javascript
node.js文件上传处理示例
2016/10/27 Javascript
Node.js复制文件的方法示例
2016/12/29 Javascript
JavaScript实现选中文字提示新浪微博分享效果
2017/06/15 Javascript
Vue2.0学习之详解Vue 组件及父子组件通信
2017/12/12 Javascript
nodejs的路径问题的解决
2018/06/30 NodeJs
微信小程序实现多选删除列表数据功能示例
2019/01/15 Javascript
layui关闭层级、简单监听的实例
2019/09/06 Javascript
layui 实现表格某一列显示图标
2019/09/19 Javascript
js实现表格单列按字母排序
2020/08/12 Javascript
[01:47]2018年度DOTA2最佳教练-完美盛典
2018/12/16 DOTA
python实现去除下载电影和电视剧文件名中的多余字符的方法
2014/09/23 Python
kNN算法python实现和简单数字识别的方法
2014/11/18 Python
python提取页面内url列表的方法
2015/05/25 Python
Django中使用locals()函数的技巧
2015/07/16 Python
Python面向对象程序设计构造函数和析构函数用法分析
2019/04/12 Python
selenium获取当前页面的url、源码、title的方法
2019/06/12 Python
Python如何实现线程间通信
2020/07/30 Python
Python rabbitMQ如何实现生产消费者模式
2020/08/24 Python
美国时装品牌:Nautica(诺帝卡)
2016/08/28 全球购物
环保宣传标语
2014/06/12 职场文书
企业投资意向书
2015/05/09 职场文书
对领导班子的意见和建议
2015/06/08 职场文书
2016开学第一课心得体会
2016/01/23 职场文书
《观察物体》教学反思
2016/02/17 职场文书