ASP编程 PHP编程 JSP编程 NET编程 CGI编程 XML编程 
Google adsense申请技巧本站核心代理域名注册主机业务 快速发布你的买卖域名买卖网站信息 1元注册 cn域名
站长每日新闻导读 √ ·推荐万网空间¥120元 150m 站长网:站长必上的网站网站联盟大全本站代理万网域名55空间120元
 2007-7-4 13:24:50

动态网页技术PHP打造个人网站全攻略

来源: 字体:[ ]

 <?php

  include("makestr.php";
  include("head.php");

  $newspath="/announce/"; //以文本文件存放的新闻文件的目录
  $newsfile=array();//准备新闻数组
  $hd=dir($newspath); //目录句柄

  while($filename=$hd->read()){ //获取全部文件

  $s=strtolower($filename);

  if(strstr($s,".txt")){
  //检测最新的修改日期

  $lastchanged=fileatime($newspath.$filename);

  $newsfile[$filename]=$lastchanged;
  }
  }

  arsort($newsfile); //文件按时间排序

  //输出文件

  for(reset($newsfile);$key=key($newsfile);next($newsfile))

  {$fa=file($newspath.$key);

  $n=count($fa);

  echo "<p>".date("d.m.Y-H:i:s".$newsfile[$key])."<br>\n";

  for($i=0;$i<$n;$i=$i+1){
  $s=chop($fa[$i]);//去除空格

  $s=htmlspecialchars($s);

  print $s."</p>\n";
  }
  }

  $hd->close(); //释放句柄

  include("tail.php");

  ?>

  这样,将你的新闻文本传上你根目录的annouce子目录下,就可以方便发布新闻了。但真正的方便还不在于这,比如说,当新闻过时的时候,程序能自动删除它,多好。不用ftp,直接在线写下要新发的公告,多方便。好了,且听下回分解。

  三 首页新闻发布,让你更新更轻松(下)

  -----上一讲里,我们已经实现了首页新闻发布的基本功能。在这一讲里,我们再给它添砖加瓦,使它的功能更为强大。(一个好用的软件,其实也就是基本功能加上一批附属功能,这些附属功能主要也是图个方便而已,)

  -----首先,我们再明确一下我们想获得什么方便。我们不希望几十天以前的东西我们忘了删除,结果还作为新闻发布在首页(很丢脸的哦^&^)。如果我们在基本实现中嵌入一段代码,比如说用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>";

  }
  ?>

  -----至此,首页新闻发布的实现已经可以告一段落了。 我们可以发现,任何一个功能(比较)强大的陈程式都是由一些简单的功能组合而成的。第三部分功能的整个完善过程使用叠加增强的方法,和软件工程的自顶向下,逐层分析的开发方法是不一样的。这是一个适用于学习的方法,自己写写习作还是挺管用的。中国站长第一门户

 

 推荐教程
     
网站地图 - 域名注册续费虚拟主机代理 - 交易论坛 - 网站投稿 - 广告服务 - 帮助中心 - 联系我们
Copyright ©2003-2007 www.Admin5.com All Rights Reserved