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 - Html Transfer Code
Oct 09 PHP
用PHP4访问Oracle815
Oct 09 PHP
实用函数9
Nov 08 PHP
PHP日期处理函数 整型日期格式
Jan 12 PHP
关于UEditor编辑器远程图片上传失败的解决办法
Aug 31 PHP
php使用curl访问https示例分享
Jan 17 PHP
php格式化日期和时间格式化示例分享
Feb 24 PHP
php导出csv数据在浏览器中输出提供下载或保存到文件的示例
Apr 24 PHP
一个简单的PHP验证码实现代码
May 10 PHP
Symfony2实现在doctrine中内置数据的方法
Feb 05 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
Mar 23 PHP
PHP实现网站应用微信登录功能详解
Apr 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使用$_POST或$_SESSION[]向js函数传参
2014/09/16 PHP
PHP版微信公众平台红包API
2015/04/02 PHP
Laravel实现ApiToken认证请求
2019/10/14 PHP
对JavaScript的eval()中使用函数的进一步讨论
2008/07/26 Javascript
jquery入门必备的基本认识及实例(整理)
2013/06/24 Javascript
jquery.form.js用法之清空form的方法
2014/03/07 Javascript
JavaScript中number转换成string介绍
2014/12/31 Javascript
JS+CSS模拟可以无刷新显示内容的留言板实例
2015/03/03 Javascript
js querySelector() 使用方法
2016/12/21 Javascript
vue组件如何被其他项目引用
2017/04/13 Javascript
简单实现JavaScript弹幕效果
2020/08/27 Javascript
详解angular ui-grid之过滤器设置
2017/06/07 Javascript
js学习总结之DOM2兼容处理顺序问题的解决方法
2017/07/27 Javascript
JavaScript实现职责链模式概述
2018/01/25 Javascript
vue项目环境变量配置的实现方法
2018/10/12 Javascript
VUE搭建手机商城心得和遇到的坑
2019/02/21 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
python 定时修改数据库的示例代码
2018/04/08 Python
pandas 读取各种格式文件的方法
2018/06/22 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
2018/10/29 Python
在python中利用dict转json按输入顺序输出内容方式
2020/02/27 Python
Python 合并拼接字符串的方法
2020/07/28 Python
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
2013/01/07 HTML / CSS
HTML5调用手机发短信和打电话功能
2020/04/29 HTML / CSS
全球第二大家装零售商:Lowe’s
2018/01/13 全球购物
如何整合JQuery和Prototype
2014/01/31 面试题
幼儿园英语教学反思
2014/01/30 职场文书
《金色的脚印》教后反思
2014/04/23 职场文书
集中采购方案
2014/06/10 职场文书
2014教师党员自我评议(5篇)
2014/09/20 职场文书
租赁协议书
2015/01/27 职场文书
郭明义电影观后感
2015/06/08 职场文书
初中语文教学研修日志
2015/11/13 职场文书
Python的flask接收前台的ajax的post数据和get数据的方法
2021/04/12 Python