打印本文 打印本文  关闭窗口 关闭窗口
人大复印资料处理程序_输入篇
作者:采集员 文章来源:来源于网络 点击数: 更新时间:2005/9/10 14:35:44
<?
//本程序是为解析人大复印资料的文章到数据库专用。
//编者:孔秀祥。日期:2001/4/10
switch($position) {
    default:
session_start();
if (!isset($auth_passed)) {
echo "本功能只有授权用户才能使用。";
return -1;
}

if(isset($u_name)) {
  session_name($u_name);

//echo "<center><font color='red'>".session_name().":本程序将竭诚为您服务。</font></center> ";
//echo "<hr>";
}

?>
<HTML><HEAD>
<TITLE>文章加入数据库 </TITLE>
</HEAD>
<BODY><TABLE><CENTER>
<FORM ENCTYPE= "multipart/form-data" NAME = "SubmitForm"
ACTION= "<? $PHP_SELF ?>" METHOD = "POST">
<INPUT TYPE= "hidden" NAME = "MAX_FILE_SIZE" VALUE ="20000000">
<!--INPUT TYPE= "hidden" NAME = "UploadAction" VALUE = "1"-->
<INPUT TYPE= "hidden" NAME = "position" VALUE = "process">
<TR><TD>文件名<TD><INPUT NAME = "UploadFile" TYPE = "file" VALUE="" SIZE = "30"></TR>
<TR><TD>索引文件名<TD><INPUT NAME = "index_file" TYPE = "text" VALUE="" SIZE = "30"></TD></TR>
<TR><TD>索引标题<TD><INPUT NAME = "index_title" TYPE = "text" VALUE="学而斋资料" SIZE = "30"></TD></TR>

<TR><TD rowspan=5>查询说明</TD>
<!--/TR><TR-->
<TD rowspan=5><TEXTAREA wrap=on rows="5" cols="30" NAME = "index_describe" SIZE = "250">
人大复印资料(1985-1989)根据任意词查询,任意词=
</TEXTAREA></TD>
</TR>

<TD>文章分类</TD>
</TR>
<TR><TD>
<SELECT size="1" name="catalog" TYPE = "int" default=11>
?<OPTION selected value="11">语言理论</OPTION>
?<OPTION value="12">语法学</OPTION>
?<OPTION value="13">语义学</OPTION>
?<OPTION value="14">语用学</OPTION>
?<OPTION value="15">修辞学 </OPTION>
?<OPTION value="16">古代汉语</OPTION>
?<OPTION value="21">历史学</OPTION>
?<OPTION value="31">中国哲学</OPTION>
?<OPTION value="41">其他</OPTION>
</SELECT>
</TR>

<TR><TD align=center>
<INPUT NAME = "submit" VALUE = "提交" TYPE = "submit">
<TD><INPUT NAME = "reset" VALUE = "重置" TYPE = "reset">
</TD></TR>
</FORM></CENTER></TABLE></BODY>

</HTML>
<?

          break;
    case "process":
session_start();
require "config.php3";

$UploadAction=0;
$index_path="\index\";
$added=0; //索引文件是否已经存在的标记。
$die=0; //碰到异常情况退出循环标记。
$data_exist=0;  //要加入的文章已经存在的计量
$data_insert=0;   //新加入文章的计量
$repeat=0;      //是不是重复了。
$TimeLimit=0; //设置超时限制时间缺省时间为 30秒设置为0时为不限时
set_time_limit($TimeLimit);

//$UploadPath = AddSlashes(dirname($PATH_TRANSLATED));
$FileName = $UploadPath.$UploadFile_name; //上载文件名
//If(($UploadFile != "none")&&($UploadFile != ""))
If(($UploadFile =="none")||($UploadFile == "")){
    $page=$PHP_SELF;
    xueroom_error_exit("文件名不能为空,或者文件没有上传成功。",$page);
}
//$file_data=file($UploadFile);
$link=@MYSQL_CONNECT($hostname,$dbusername,$dbpassword) OR DIE("不能连接数据库!");
@mysql_select_db("$dbname") or die("不能选择数据库!");

$patterne="/【s*文献号s*】(.+) /U";  //文献号
$patternf="/【原文出处】(.+) /U";  //原文出处
$patterng="/【原刊期号】(.+) /U";  //原刊期号
$patternh="/【分s*类s*号】(.+) /U";  //分 类 号
$patternb="/【复印期号】(.+) /U";  //复印期号

//$patternc="/.*s*【 标  题 】(.+) 【.*/Us";  //标  题  本来不加 ,但碰到“小句(d0a1bee4)”其中的a1be正好是“【”的内码。2001/3/13

//$patternc="/【 标  题 】(.+) 【.*/Us";  //标  题  本来不加 ,但碰到“小句(d0a1bee4)”其中的a1be正好是“【”的内码。2001/3/13
$patternc="/【s*标s*题s*】(.+) 【.*/Us";  //标  题  本来不加 ,但碰到“小句(d0a1bee4)”其中的a1be正好是“【”的内码。2001/3/13
$patternd="/【s*作s*者s*】(.+) /U";  //作  者
$patterna="/(.+【s*正s*文s*】)(.+)$/Us";  //留下一个【,作为标题栏的结束标记。
$pattern11="/【作者简介】(.+)【.*/Us";//
$pattern12="/【内容提要】(.+)【.*/Us";//



$fp_o=fopen("$UploadFile",'r');
$data=fread($fp_o,filesize($UploadFile));  //文件读入字符变量
fclose($fp_o);
$poem_array=preg_split("/ s+ s+ s+/",$data);
$replacement[0]="/(注.*)$/s";    //应该写上“注”,否则把“(上/下)”也删了。
$replacement[1]="/(注.*) s*/s";  //为马庆株的一篇文章而设。注后还有副题。
//echo$poem_array[1];
$s=sizeof($poem_array);
for($i=0;$i<$s;$i++){  //对一个网页内的所有唐诗进行操作。
//for($i=0;$i<2;$i++){  //对一个网页内的所有唐诗进行操作。
    $t_data=$poem_array[$i];
//    if(preg_match($pattern,$data,$matches,PREG_SET_ORDER)){
    if(preg_match($patterna,$t_data,$matchesa,PREG_SET_ORDER)){
        $artical_data=$matchesa[2];   //正文
        $data=$matchesa[1];   //文章头
        if(preg_match($patternb,$data,$matchesb,PREG_SET_ORDER))
            $date_rep=$matchesb[1];     //复印期号
            else
            $date_rep="";
        if(preg_match($patternc,$data,$matchesc,PREG_SET_ORDER)){
            $artical_title=trim($matchesc[1]);   //标题
            $artical_title=preg_replace($replacement,"",$artical_title);
//            echo $artical_title."<BR>";
            }
            else
            $artical_title="";
        if(preg_match($patternd,$data,$matchesd,PREG_SET_ORDER))
            $artical_author=trim($matchesd[1]);   //作者
            else
            $artical_author="";

        if(preg_match($patterne,$data,$matchese,PREG_SET_ORDER)){
            $resource_id=trim($matchese[1]);   //人大编号
//            echo $resource_id."<BR>";
            }
            else
            $resource_id="";
        if(preg_match($patternf,$data,$matchesf,PREG_SET_ORDER))
            $origin_periodical=trim($matchesf[1]);   //期刊
            else
            $origin_periodical="";
        if(preg_match($patterng,$data,$matchesg,PREG_SET_ORDER))
            $date_temp=$matchesg[1];   //出版日期
            else
            $date_temp="";
        if(preg_match($patternh,$data,$matchesh,PREG_SET_ORDER))
            $artical_type=trim($matchesh[1]);   //文章分类
            else
            $artical_type="";
/*
        if(preg_match($pattern11,$data,$matchesd,PREG_SET_ORDER))
            $author_brif=$matchesd[1];   //作者简介
   

[1] [2] [3]  下一页



打印本文 打印本文  关闭窗口 关闭窗口