1 分析文件名
2 读取文件内容
3 写入数据库
提示:可以利用dir foreach explode

解决方案 »

  1.   

    由于目标php论坛只支持对主题的回复,所以必须把对回复的回复转化成对主题的回帖,即要把1-1-1.txt重命名为1-n.txt,这个程序如何写呢?
    我自己的构想是先实现上述文件的重命名,然后把所有数据文本经处理后写入一个文本文件,最后通过phpmyadmin的文本导入功能写入数据库。但很难写出代码,有谁能帮帮我呢?
                                    ------期待中。。
      

  2.   

    严重考虑 syre(神仙)  的做法!!!
    把数据目录下的文本文件逐个的遍历,然后存入数组中,再编历数组,读取出每个文本文件中的内容,通过explode()函数来分析格式,然后存成数组,倒入到mysql中,依此进行....我不知道具体,只能给你这么一个思路,呵呵,瞎说的,别见怪!!
      

  3.   

    只要你定下了mysql的表结构,然后你就尝试如果你手动导入一条数据都要做什么,然后把这个过程用php重新写一下就可以了,还有你原来是写cgi的话,你用perl的DBI连mysql,导这些数据也应该是可以的,不过是用一次的脚本,多查查手册应该可以搞定的吧。
      

  4.   

    感谢上面的回复的网友,我想大家的思路都基本一致,我希望有没有哪位能提供一点原代码出来。
    因为我两个程序都不是我写的,本身也只懂一点点php和asp,多谢了!
      

  5.   

    那就把你的文本文件的格式贴出来,再把你mysql库的结构贴出来
    ,没有这些你让大家怎么写代码啊。
      

  6.   

    谢谢各位啦!既然大家这样有心,我就详细介绍一下这次任务,请大家帮忙写写代码。
    原BBS采用的是Spboard V4.5,
    这是生成的一个文件名为1000的数据文本内容:
    spehzKOPWy3Fc
    ***|***@sina.com||有心帮忙的人请看!|2004/05/16 [15:39]||
    | 表情18~大家好,我是武汉的一名国际经济与贸易专业的学生,想利用暑假时间出去实习,不知道有没有哪位好心人帮我推荐推荐,在此不胜感激! 表情21~
    |||||
    |1||
    |211.154.211.***|Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)|http://||||
    ---------------------
    以下为结构分析:
    密码|发帖人|发帖人email|法帖人主页|帖子标题|发贴时间|帖子内容|发帖人ip|发帖人的OS和IE属性|此帖连接文件||||
    ---------------------
    注:
    主题的id号为帖子的文件名,对主题的回帖的文件名为格式为1000-1,对回帖的回复文件名格式为1000-1-1,依此类推;
    第一行应该是密码,新php论坛不需要;
    为了保护隐私,故用***替代了发帖者的姓名、email和ip;
    |为原cgi留言板的字段分割符,两个|之间为空表示改字段的值为NULL
    ------------------
    新论坛采用PHPBB2,
    以下是目标Mysql相关表的结构:
    表post:
         字段       类型         属性       NULL   默认         额外 
       post_id   mediumint(8)  UNSIGNED      否             auto_increment              
       topic_id  mediumint(8)  UNSIGNED      否      0                
       forum_id  smallint(5)   UNSIGNED      否      0                
       poster_id  mediumint(8)               否      0                
       post_time  int(11)                    否      0                
       poster_ip  varchar(8)                 否                  
       post_username  varchar(25)            是    NULL                
       enable_bbcode  tinyint(1)             否      1                
       enable_html  tinyint(1)               否      0                
       enable_smilies  tinyint(1)            否      1                
       enable_sig  tinyint(1)                否      1                
       post_edit_time  int(11)               是     NULL                
       post_edit_count  smallint(5) UNSIGNED 否      0     
    -------
    注:post_id从1开始,对应原数据文本的文件名自动增加;
        topic_id都设成1,forum_id都为2;poster_id为-1;“星期一 10 04, 2004 9:14 pm”的 post_time值为1096895669;poster_ip存储去掉.的十六进制数值,比如127.0.0.1的poster_ip字段值为7f000001;enable_bbcode\enable_html\enable_smilies\enable_sig分别设成1\1\1\0;post_edit_time留空并把post_edit_time都设成0
    ---------  
    表post_text:
         字段             类型           属性        NULL     默认
       post_id           mediumint(8)  UNSIGNED        否      0                
       bbcode_uid        varchar(10)                   否                  
       post_subject      varchar(60)                   是     NULL                
       post_text         text                          是     NULL    
    ------------------
    注:bbcode_uid不知为何用,这几个是样本值:fcf9e03a1b e2644df4ef  bbfc82f6e7,大家也不清楚就让它取fcf9e03a1b
    这是一个由我的外贸老师创办的专门为外贸工作者服务、交流的公益平台,没有任何商业的成分,几年来解决了很多外贸人的问题和困惑。希望大家能发挥自己的特长,帮助我们实现论坛的换代升级,为中国的外贸事业作一把贡献,我们对你的帮助将感激不尽!
    现在运行的BBS名为外贸BBS,网址为:
    http://www.guomaoren.com/cgi-bin/spboard/board.cgi?id=intertrade
      

  7.   

    导入工作已经由delphi程序完成,只是新论坛对旧帖的查询表还未做出来,结贴了,下次再烦请各位出谋划策。
      

  8.   

    不好意思了,前些天有些事情没能上网来帮你解决问题.
    delphi我也喜欢,但只是入门,以后向你请教啊.