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 array_map array_multisort 高效处理多维数组排序
Jun 11 PHP
php生成的html meta和link标记在body标签里 顶部有个空行
May 18 PHP
php文章内容分页并生成相应的htm静态页面代码
Jun 07 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
Jan 03 PHP
php $_SERVER windows系统与linux系统下的区别说明
Feb 14 PHP
php使用cookie保存登录用户名的方法
Jan 26 PHP
Yii实现自动加载类地图的方法
Apr 01 PHP
PHP实现动态web服务器方法
Jul 29 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
Nov 14 PHP
AJAX的使用方法详解
Apr 29 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
May 27 PHP
php操作redis数据库常见方法实例总结
Feb 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
8个必备的PHP功能实例代码
2013/10/27 PHP
destoon实现首页显示供应、企业、资讯条数的方法
2014/07/15 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
php去除html标记的原生函数详解
2015/01/27 PHP
浅谈php中变量的数据类型判断函数
2017/03/04 PHP
JavaScript学习笔记记录我的旅程
2012/05/23 Javascript
原生js和jQuery写的网页选项卡特效对比
2015/04/27 Javascript
javascript常用的方法整理
2015/08/20 Javascript
js点击按钮实现带遮罩层的弹出视频效果
2015/12/19 Javascript
JS创建对象几种不同方法详解
2016/03/01 Javascript
javascript html5实现表单验证
2016/03/01 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
浅谈html转义及防止javascript注入攻击的方法
2016/12/04 Javascript
JQuery判断正整数整理小结
2017/08/21 jQuery
Vue-cli Eslint在vscode里代码自动格式化的方法
2018/02/23 Javascript
js getBoundingClientRect使用方法详解
2019/07/17 Javascript
Vue + Node.js + MongoDB图片上传组件实现图片预览和删除功能详解
2020/04/29 Javascript
[02:23]DOTA2英雄基础教程 幻影长矛手
2013/12/09 DOTA
Python Web框架Flask下网站开发入门实例
2015/02/08 Python
python制作爬虫爬取京东商品评论教程
2016/12/16 Python
利用python模拟sql语句对员工表格进行增删改查
2017/07/05 Python
mac系统安装Python3初体验
2018/01/02 Python
在VS Code上搭建Python开发环境的方法
2018/04/06 Python
python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
2018/06/04 Python
解决python ogr shp字段写入中文乱码的问题
2018/12/31 Python
wxPython实现分隔窗口
2019/11/19 Python
python实现秒杀商品的微信自动提醒功能(代码详解)
2020/04/27 Python
Python内置异常类型全面汇总
2020/05/28 Python
Orvis官网:自1856年以来,优质服装、飞钓装备等
2018/12/17 全球购物
餐厅经理岗位职责范本
2014/02/17 职场文书
小学运动会班级口号
2014/06/09 职场文书
践行党的群众路线心得体会
2014/11/05 职场文书
西柏坡导游词
2015/02/05 职场文书
街道办残联2016年助残日活动总结
2016/04/01 职场文书
Python实现排序方法常见的四种
2021/07/15 Python
详解NumPy中的线性关系与数据修剪压缩
2022/05/25 Python