//本程式是為解析人大影印資料的文章到資料庫專用。
//編者:孔秀祥。日期:2001/4/10
switch($position) {
default:
session_start();
if (!isset($auth_passed)) {
echo "本功能只有授權使用者才能使用。 "
".session_name().":本程式將竭誠為您服務。n";
//echo "
" ;
}
?>
文章加入資料庫 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("檔案名稱無法上傳為空,或檔案沒有上傳為成功。資料庫! /U"; //文獻號
$patternf="/【原文出處】(. )n/U"; //原文出處
$patterng="/【原刊號】(. )n /U"; //原刊期號
$patternh="/【分s*類s*號】(. )n/U"; //分類號
$patternb="/【影印期號】(. )n/U"; //影印期號
//$patternc="/.*s*【 標 題】(. )n【.*/Us"; //標題 本來不加n,但碰到「小句(d0a1bee4)」其中的a1be正好是「【」的內碼。 2001/3/13
//$patternc="/【 標 題】(. )n【.*/Us"; //標 題 本來不加n,但碰到「小句(d0a1bee4 )」其中的a1be剛好是「【」的內碼。 2001/3/13
$patternc="/【s*標s*題s*】(. )n【.*/Us"; //標 題 本來不加n,但碰到「小句( d0a1bee4)」其中的a1be剛好是「【」的內碼。 2001/3/13
$patternd="/【s*作s*者s*】(. )n/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("/ns ns ns /",$data);
$replacement[0]="/(註.*)$/s"; //應該寫上“註”,否則把“(上/下)”也刪了。
$replacement[1]="/(註.*)ns*/s"; //為馬慶株的一篇文章而設。註後還有副題。
//echo$poem_array[1];
$s=sizeof($poem_array);
for($i=0;$i//for($i=0;$i $t_data=$poem_array[$i];
// if(preg_match($pattern,$data,$matches,PREG_SET_ORDER)){
if(preg_match($patterna,$t_data,$mata,fhex a [2]; //正文
$data=$matchesa[1]; // 文章頭
if(preg_match($patternb,$data,$matchesb,PREG_SET_ORDER))
// 期預設號碼
else
$date_rep="";
if(preg_match($patternc,$data,$matchesc,PREG_SET_ORDER)){
// 標題
$artical_title=preg_replace($replacement,"",$artical_title);
// echo $artical_title."
";
}
其他與其他
if(preg_match($patternd,$data,$matchesd,PREG_SET_ORDER))
//作者
其他
$artical_author="";
if(preg_match($patterne,$data,$matchese,PREG_SET_ORDER)){
// 人大號
// echo $resource_id."
";
}
else
$resource_id="";
$origin_periodical=trim($matchesf[1]); //期刊
else
$origin_periodical=""" ))
$date_temp=$matchesg[1]; //出版日期
else
$date_temp="";
$artical_type=trim($matchesh[1]); //文章分類
else
$artical_ EG_SET_ORDER))
$author_brif=$matchesd[1]; //作者簡介
else
$author_brif="" 12,PREG_SET_ORDER))
$content_brif=$matches12[1] ; //內容摘要
else
_title;
/*
echo $resource_id."";
echo $origin_periodical."
";
>*/
// echo $date_rep."
";
if(($artical_title=="")||($ > echo "標題或人大編號為空,且不合法。第$a 篇沒有加入資料庫
";
$die=1;
else{
if(strlen(trim(substr($date_temp, 6,2)))!=0){
$date_pub=substr($date_temp,0,4)."-".substr($date_pub=substr($date_temp,0,4)."-".substr($date_pub=substr($date_temp,0,4)."-".substrS($date_ ." 00:00:00";
}
str($date_temp,0,4)."-".substr($date_temp,4,2)."- 01 01:01:01";
//在日期中使用且已保留的數字必須有效,否則將被置零。
// $date_pub=substr($date_temp,0,4)."-".substr($date_pub=substr($date_temp,0,4)."-".substr($24444),44444);
} ///如上發表於報紙上,則有日期);
$origin_periodical=addslashes($origin_periodical);
$artical_title=addslashes($artical_title);
$date_reprinted=substr($date_rep,0,4)."-".substr($date_rep,4,2)."-01 01:01:01";
if($content_brif)
$artical_data="$content_brif rn $artical_data";
$artical_data=addslashes($artical_data);
$artical__size=strlen($artical_data);
$resource_id=trim($resource_id);
$query = "INSERT INTO artical (resource_id, origin_periodical,date_pub, artical_author, artical_title, artical_prints, artical_pateartical _periodical','$date_pub', '$ artical_author'、'$artical_title'、'$artical_data'、'$artical_type'、'$artical__size'、'$date_reprinted'、$catalog)";
artical_author,artical_type,其中resource_id="$resource_id"";
$r = @mysql_query($q);
// $count=@mysql_fetch_row($r);
// echo "$artical_type,,".$count[4]."
";
while($count=mysql_fetch_array($r)){ //重複的號碼可能有多個,且真正重複的不一定是第一個找到的。 🎜>
if($artical_type==$count[4]&&$artical_author==$count[3]){
$id=$count[0];
$title=$count[2];
$author=$count[3];
$repeat=1;
由中位;
}
}
> if($ repot){ $ f_data。 ";
$repeat=0;
) $data_insert = 1 ;
$id= mysql_insert_id(); >
$artical_title |
作者:$artical_authorrn"; } data; echo'資料寫入失敗 '; if($result) }//if(strlen($count)文章文章!=0){ //是否已存在。 ){
}//if(preg_match($patterna,$t_data,$matchesa,PREG_SET_ORDER)){ }//for()
/////下方結束處理。 set_time_limit(30); mysql_close($link); $dte_created=date('Y-m-d H:i:s'); $total=$data_exist $data_insert;
if($index_title==""){ $index_title="學而齋資料"; } $index_title=$index_title."_".$data_search;
$html_header="$index_title"; $html_header.="$index_titlern"; $dte_created=date('Y-m-d H:i:s'); $html_header.="$index_describe 發現了 $total 條/上下載日期:$dte_created rn"; $html_header.="rn"; $data=$html_header.$f_data; $data.=""; /* If(strlen($index_file)==0){ header("內容類型:text/html"); 回顯$data; } 其他 { */ If(strlen($index_file)!=0){ $index_file=$index_path.$in_file; } 其他 $in_file="temp.html";
$fp=indexfile($index_file,$index_title,$index_describe); fputs($fp, "發現了 $total 條"); fputs($fp, "查詢日期:$dte_created rn"); fputs($fp,"rn"); fputs($fp, $f_data); fputs($fp, "
|