<span class="unnamed3">三 首页新闻发布,让你更新更轻松(下) <br><br>-----上一讲里,我们已经实现了首页新闻发布的基本功能。在这一讲里,我们再给它添砖加瓦,使它的功能更为强大。(一个好用的软件,其实也就是基本功能加上一批附属功能,这些附属功能主要也是图个方便而已,呵呵) <br>-----首先,我们再明确一下我们想获得什么方便。我们不希望几十天以前的东西我们忘了删除,结果还作为新闻发布在首页(很丢脸的哦^&^)。如果我们在基本实现中嵌入一段代码,比如说用filectime($filename),那么在UNIX下,我们就可以得到从1970年1月1日起以秒计到最后一次文件被改动的时间(在WINDOWS下返回的是文件生成的日期时间),而从 1970年1月1日起以秒计到现在的秒数可以用$mynow=mktime()来获得,减法,判断,IF >我们期望的时间,嘿嘿,Sorry,unlink($newspath.$filename)……什么?!您问这段代码应该放在哪儿?您说呢,呵呵。 <br>或许,你并不是常在一台机器上上网,当你获得了一条新的新闻后却不在你的爱机旁,怎么办?最理想的莫过于在主页上上传文件咯。你或许有一个页面(Admin?)需要用密码才能进入(假如你还爱惜自己的网站的话,这是有必要的,最好连文件名都不要让别人知道,呵呵)。下面是一段到处可见的文件上载的代码: <br> <br>if(isset($upfile)) <br>{ <br>?> <br><br>已上载的文件信息如下: <br> 文件存放路径 : <?echo $upfile;?> <br> 原始文件名 : <?echo $upfile_name;?> <br> 文件大小(字节): <?echo $upfile_size;?> <br> 文件类型 : <?echo $upfile_type;?> <br><br> <br>} <br>else <br>{ <br>?> <br> <br><title>新闻上传</title> <br><form enctype="multipart/form-data" method="post" action="<?echo%20%24PHP_SELF;?>"> <br><input type="hidden" name="MAX_FILE_SIZE" value="50000"> <br>请选择或输入上传文件名: <input name="upfile" type="file"> <br><input type="submit" value="上传" name="submit"> <br> </form> <br> <br> <br>} <br>?> <br><br>-----这里我们又见到了PHP和HTML结合的一种形式,可以借鉴。文件上载虽然方便,但总给人一种不安全感。一旦泄密,你的服务器的系统安全就受到了威胁,因为上载的文件可能是一些破坏性的执行文件(也就是病毒或黑客程序啦)稳妥的做法是写一个在线编辑的文件,下面是一个示例: <br><br>〈?php <br>function mywritefile($filename,$contents){ <br>if($fp=fopen($filename,"w")){ <br>fwrite($fp,strpslashes($contents)); <br>fclose($fp); <br>return 1; <br>} <br>else {return 0;}; <br>}; <br>//判断表单返回的变量 <br>if($submitButton=="完成"){ <br>$rs=mywritefile("$page","$test"); <br>echo "<a href="%24page">$page</a><br>"; <br>} <br>elseif($action=="page") //变量action值为"page"的情况 <br>{$contents="$page"; <br>$fp=@fopen($content,"w+")or die('Could not open file!'); <br>$contents=htmlspecialchars($contents); <br>fclose($fp); <br>echo "<form action="admin.php?page=%24page" method="POST" wrap="soft">"; <br>echo "$contents"; <br>echo ""; <br>echo "<input type="submit" name="submitButton" value="完成">"; <br>echo "</form>"; <br>} <br>else <br>{echo "<form action="basename(%24PHP_SELF).?action=page" method="POST">";//注意引用程序内变量的方式。 <br>echo "<input type="text" size="20" name="page">"; <br>echo "<input type="submit" name="send" value="选定">"; <br>echo "</form>"; <br>} <br>?> <br><br>-----至此,首页新闻发布的实现已经可以告一段落了。 我们可以发现,任何一个功能(比较)强大的陈程式都是由一些简单的功能组合而成的。第三部分功能的整个完善过程使用叠加增强的方法,和软件工程的自顶向下,逐层分析的开发方法是不一样的。这是一个适用于学习的方法,自己写写习作还是挺管用的,呵呵。 <br></span> <p style="width:100%;text-align:center;margin:10px 0"> <br> <br> </p> <p style="width:100%;text-align:center;margin:10px 0"> </p> <p class="clear"></p>