ホームページ >バックエンド開発 >PHPチュートリアル >全国人民代表大会コピーデータ処理プログラム_Input_PHP チュートリアル
//このプログラムは、全国人民代表大会の記事を解析してデータベースに保存するように特別に設計されています。
//編集者:孔秀祥。日付: 2001/4/10
switch($position) {
デフォルト:
session_start();
if (!isset($auth_passed)) {
echo "この機能は許可されたユーザーのみが使用できます。"; -1 ;
}
if(isset($u_name)) {
session_name($u_name)
//echo "
$uploadAction=0; /インデックス ファイルが既に存在するかどうかをマークします。
$die=0; //異常事態が発生した場合、ループマークを抜けます。
$data_exist=0; //追加する記事の測定値はすでに存在します
$data_insert=0; //新しく追加される記事の測定値
$repeat=0; //重複していますか?
$TimeLimit=0; // デフォルトの時間を 30 秒に設定します。
set_time_limit($TimeLimit)//$UploadPath = AddSlashes($PATH_TRANSLATED); ;
$ FileName = $UploadPath.$UploadFile_name //アップロードファイル名
//If(($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"); "データベースを選択できません!") ;
$pattern="/[s*ドキュメント番号 s*](.+)n/U" //ドキュメント番号
$patternf="/[元のソース](.+) n/U"; // 原典
$patterng="/[原号番号](.+)n/U"; //原号番号
$patternh="/[s* カテゴリと s* 番号に分割] (.+)n/ U"; //分類番号
$patternb="/[発行番号をコピー](.+)n/U"; //発行番号をコピー
//$patternc="/.* s*[Title]( .+)n【.*/Us"; //もともとタイトルにはnが付いていなかったのですが、「小文(d0a1bee4)」に出会ったとき、たまたまa1beが「[」の内部コードでした。 2001/3/13
//$patternc="/【タイトル】(.+)n【.*/Us"; //タイトルには元々nが付いていませんでしたが、その中に「サブセンテンス(d0a1bee4)」がありました。まさに「[」の内部コードです。 2001/3/13
$patternc="/[s*subscript s*title s*](.+)n【.*/Us"; //タイトルには元々nが付いていなかったのですが、「小さい文」に出会ったとき(d0a1bee4 )" ここで、a1be はたまたま "[" の内部コードです。 2001/3/13
$patternd="/[s*authored by s*s*](.+)n/U"; //authored by
$patterna="/(.+【s*正s*文】 s*])(.+)$/Us"; //タイトルバーの終了マークとして [ を残します。
$pattern11="/【著者紹介】(.+)【.*/私たち】;//
$pattern12="/【要旨】(.+)【.*/私たち】;//
$fp_o=fopen("$UploadFile",'r');
$data=fread($fp_o,filesize($UploadFile)) //ファイルから文字変数を読み取る
fclose($fp_o); ("/ns+ns+ns+/",$data);
$replacement[0]="/(Note.*)$/s"; //「Note」と書くべきで、それ以外の場合は「(上/下)」と書きます。 )」も削除されました。
$replacement[1]="/(注.*)ns*/s"; //Ma Qingzhu による記事用にデザインされました。注の後にサブタイトルがあります。
//echo$poem_array[1];
$s=sizeof($poem_array);
for($i=0;$i<$s;$i++){ //Web ページ内のすべての唐詩に対して操作を実行します。 。
//for($i=0;$i<2;$i++){ //Web ページ内のすべての唐詩に対して操作を実行します。
$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."
";
}
else
$artical_title="";
if(preg_match($patternd,$data,$matchesd,PREG_SET_ORDER))
$artical_author=trim($matchesd[1]); //作者
else
$artical_author="";
if(preg_match($pattern,$data,$matchese,PREG_SET_ORDER)){
$resource_id=trim($matchese[1]); //人大编号
// echo $resource_id."
";
}
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]; //作者简介
else
$author_brif="";
*/
if(preg_match($pattern12,$data,$matches12,PREG_SET_ORDER))
$content_brif=$matches12[1]; // コンテンツ提要
else
$content_brif="";
// echo$data;
//エコー $artical_title;
/*
echo $resource_id."
";
echo $origin_periodical."
";
echo $artical_title."
";
echo $artical_author."
";
*/
// echo $date_rep."
";
if(($artical_title=="")||($resource_id=="")){
$a=$i+1;
echo "标题または人大号は空、不法です。第 $a 篇にはデータベースが追加されていません
";
$die=1;
//休憩;
}
else{
if(strlen(trim(substr($date_temp,6,2)))!=0){
$date_pub=substr($date_temp,0,4)."-".substr($date_temp ,4,2).substr($date_temp,6,2)." 00:00:00";
}
else{
$date_pub=substr($date_temp,0,4)."-".substr($date_temp,4,2)."-01 01:01:01";
// 日期の数字は必ず有効であり、そうでない場合は零になります。
// $date_pub=substr($date_temp,0,4)."-".substr($date_temp,4,2);
} //如果原文公開表在报纸上,有日期
// $artical_title=preg_replace($pattern91,"",$artical_title);
$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_data, artical_type,artical__size, date_reprinted,catalog) VALUES ('$resource_id', '$origin_periodical','$date_pub', ' , '$artical_title', '$artical_data', '$artical_type','$artical__size', '$date_reprinted',$catalog)";
$q="resource_id="$resource_id"" のアーティカルから artical_id,resource_id,artical_title,artical_author,artical_type を選択します。
$r = @mysql_query($q);
// $count=@mysql_fetch_row($r);
// echo "$artical_type,,".$count[4]."
";
while($count=mysql_fetch_array($r)){ // 重複する番号は複数ある可能性がありますが、真の重複は必ずしも最初のものではありません。必要に応じて循環してください。2001/3/16
//理由を理解するには、私花の報酬は少なくないかもしれません。
if($artical_type==$count[4]&&$artical_author==$count[3]){
$data_exist+=1;
$id=$count[0];
$title=$count[2];
$author=$count[3];
$repeat=1;
休憩;
}
}
if($repeat){
$f_data.="
rn";
$repeat=0;
}
else{
$result = @mysql_query($query);
if($result){
$data_insert+=1;
$id= mysql_insert_id();
$f_data.="