网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > PHP实例
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.基于PHP的聊天室(二).
.BBS(php & mysql)完整版(五).
.挑战最棒的留言本的源码(一).
.php抓即时股票信息.
.我的论坛源代码(八).
.FC4下安装plog快速指南(plog版本.
.基于文本的留言簿.
.我的论坛源代码(一).
.用PHP+MySql编写聊天室.
.用PHP编程语言开发动态WAP页面.
.Banner程序.
.使用sockets:从新闻组中获取文章.
.使用sockets:从新闻组中获取文章.
.PHP+TEXT留言本(五).
.模仿OSO的论坛(四).
.用PHP实现验证码功能.
.新闻分类录入、显示系统.
.挑战最棒的留言本的源码(五).
.同时提取多条新闻中的文本一例.
.一个php作的文本留言本的例子(五).

使用sockets:从新闻组中获取文章(三)

发表日期:2001-5-22


读取文章
    既然我们已经得到了最后一篇文章的文章编号,读取最后的十篇文章就是很容易的事了。RFC977中说,ARTICLE命令既可以使用文章编号,也可以使用它的消息ID.
    这里要注意,文章编号跟它的消息ID是不同的,因为每个新闻服务器分配自己的文章编号,所以同一篇文章在两个不同的服务器上的编号是不一样的,而文章的消息ID,是包括在文章的头信息里,并且是唯一的。
     
   <?php
     $cfgLimit =10;

     //upload last articles
   
     $boucle = $last-$cfgLimit;
   
     while ($boucle<=$last) {
       set_time_limit(0);
       fputs($usenet_handle, "ARTICLE $bouclen");

       $article="";
       $tmp=fgets($usenet_handle, 4069);
       if(substr($tmp,0,3) != "220") {
           echo "+----------------------+n";
           echo "Error on article $bouclen";
           echo "+----------------------+n";
       }
       else {
           while($tmp!=".rn") {
              $tmp = fgets($usenet_handle, 4096);
              $article .=$tmp;
           }
            
           echo "+----------------------+n";
           echo "Article $bouclen";
           echo "+----------------------+n";
           echo "$articlen";
       }
        
       $boucle++;
  }
   
  ?>

    我们从服务器的这个新闻组中读取了最后的十篇文章,。也可以通过使用HEAD命令读取文章的头信息,或者使用BODY命令读取文章内容。

关闭连接
    最后,通过调用fclose()函数关闭socket,结束同NNTP服务器的对话。
    
    <?php
      //close connection
      fclose($usenet_handle);
    ?>
    关于fclose()的更多信息,请参考 http://www.php.net/manual/function.fclose.php

结论
    在上文中,我们看到了怎样打开、使用然后关闭一个socket:连接到一个NNTP服务器,取回一些文章。使用POST命令发表文章也复杂不到哪儿去。
    下一步就是编写一个基于WEB的新闻组客户端了。
    存储这些文章,用某个搜索引擎(比如说http://www.htdig.org)对文章进行索引也是非常容易的。这样,你有了一个基于web的搜索新闻组的程序了。
    这样的程序的一个例子可以在http://www.phpindex.com/ng/得到。 
上一篇:使用sockets:从新闻组中获取文章(二) 人气:10838
下一篇:PHP+MYSQL的文章管理系统(一)   人气:14722
浏览全部的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐