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 ADODB使用方法集锦
Mar 25 PHP
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
Nov 02 PHP
php中用加号与用array_merge合并数组的区别深入分析
Jun 03 PHP
PHP使用CURL_MULTI实现多线程采集的例子
Jul 29 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
Jan 07 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
Mar 21 PHP
PHP MSSQL 分页实例
Apr 13 PHP
php获取开始与结束日期之间所有日期的方法
Nov 29 PHP
php将从数据库中获得的数据转换成json格式并输出的方法
Aug 21 PHP
如何在PHP中使用数组
Jun 09 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
Aug 20 PHP
php微信小程序解包过程实例详解
Mar 31 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格式输出文件var_export函数实例
2014/11/15 PHP
自动生成文章摘要的代码[JavaScript 版本]
2007/03/20 Javascript
学习ExtJS table布局
2009/10/08 Javascript
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
JavaScript 学习笔记二 字符串拼接
2010/03/28 Javascript
js focus不起作用的解决方法(主要是因为dom元素是否加载完成)
2010/11/05 Javascript
javascript 45种缓动效果 非常酷
2011/06/28 Javascript
在图片上显示左右箭头类似翻页的代码
2013/03/04 Javascript
js操纵dom生成下拉列表框的方法
2014/02/24 Javascript
通过js来制作复选框的全选和不选效果
2014/05/22 Javascript
JS实现的网页倒计时数字时钟效果
2015/03/02 Javascript
javascript中html字符串转化为jquery dom对象的方法
2015/08/27 Javascript
基于javascript代码实现通过点击图片显示原图片
2015/11/29 Javascript
js一维数组、多维数组和对象的混合使用方法
2016/04/03 Javascript
JavaScript Math 对象常用方法总结
2016/04/28 Javascript
JavaScript仿微博发布信息案例
2016/11/16 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
JavaScript数据结构之二叉树的查找算法示例
2017/04/13 Javascript
在Vue中使用Compass的方法
2018/03/02 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
vue项目中应用ueditor自定义上传按钮功能
2018/04/27 Javascript
JavaScript 高性能数组去重的方法
2018/09/20 Javascript
element-ui的回调函数Events的用法详解
2018/10/16 Javascript
Python函数返回值实例分析
2015/06/08 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
Python BeautifulReport可视化报告代码实例
2020/04/13 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
CSS3制作气泡对话框的实例教程
2016/05/10 HTML / CSS
巧用HTML5给按钮背景设计不同的动画简单实例
2016/08/09 HTML / CSS
浅谈html5标签css3的常用样式
2016/10/20 HTML / CSS
NYX Professional Makeup英国官网:美国平价专业彩妆品牌
2019/11/13 全球购物
网吧收银员岗位职责
2013/12/14 职场文书
晚会邀请函范文
2014/01/24 职场文书
环境保护宣传标语大全!
2019/06/28 职场文书
java如何实现获取客户端ip地址的示例代码
2022/04/07 Java/Android