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版(2)
Oct 09 PHP
实时抓取YAHOO股票报价的代码
Oct 09 PHP
用PHP提取中英文词语以及数字的首字母的方法介绍
Apr 23 PHP
PHP加Nginx实现动态裁剪图片方案
Mar 10 PHP
smarty模板局部缓存方法使用示例
Jun 17 PHP
php实现SAE上使用storage上传与下载文件的方法
Jun 29 PHP
php无限分类使用concat如何实现
Nov 05 PHP
PHP中PDO的事务处理分析
Apr 07 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
Feb 23 PHP
laravel自定义分页效果
Jul 23 PHP
PHP中用Trait封装单例模式的实现
Dec 18 PHP
关于PHP5.6+版本“No input file specified”问题的解决
Dec 11 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迅雷、快车、旋风下载专用链转换代码
2010/06/15 PHP
php实现倒计时效果
2015/12/19 PHP
php获取访问者浏览页面的浏览器类型
2017/01/23 PHP
thinkPHP显示不出验证码的原因与解决方法分析
2017/05/20 PHP
thinkPHP5框架接口写法简单示例
2019/08/05 PHP
PHP实现获取文件mime类型多种方法解析
2020/05/28 PHP
php解析非标准json、非规范json的方式实例
2020/12/10 PHP
用Javascript实现Sleep暂停功能代码
2010/09/03 Javascript
jquery下将选择的checkbox的id组成字符串的方法
2010/11/28 Javascript
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
Javascript学习笔记-详解in运算符
2011/09/13 Javascript
jquery中ajax学习笔记一
2011/10/16 Javascript
TextArea设置MaxLength属性最大输入值的js代码
2012/12/21 Javascript
JQuery入门——用bind方法绑定事件处理函数应用介绍
2013/02/05 Javascript
JavaScript分析、压缩工具JavaScript Analyser
2014/12/31 Javascript
JQuery select(下拉框)操作方法汇总
2015/04/15 Javascript
简述JavaScript的正则表达式中test()方法的使用
2015/06/16 Javascript
jquery实现清新实用的网页菜单效果
2015/08/28 Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
2017/07/18 Javascript
vue cli使用融云实现聊天功能的实例代码
2019/04/19 Javascript
java遇到微信小程序 &quot;支付验证签名失败&quot; 问题解决
2019/12/22 Javascript
基于JavaScript实现控制下拉列表
2020/05/08 Javascript
js实现mp3录音通过websocket实时传送+简易波形图效果
2020/06/12 Javascript
原生js实现表格循环滚动
2020/11/24 Javascript
微信小程序实现购物车小功能
2020/12/30 Javascript
python基于http下载视频或音频
2018/06/20 Python
Pycharm debug调试时带参数过程解析
2020/02/03 Python
python实现翻译word表格小程序
2020/02/27 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
2020/03/18 Python
Python ckeditor富文本编辑器代码实例解析
2020/06/22 Python
基于html5 canvas实现漫天飞雪效果实例
2014/09/10 HTML / CSS
青春寄语大全
2014/04/09 职场文书
党员干部三严三实心得体会
2014/10/13 职场文书
债务纠纷委托书范本
2014/10/14 职场文书
2015年库房工作总结
2015/04/30 职场文书
python计算列表元素与乘积详情
2022/08/05 Python