PHP网页设计人大复印材料处置法式_输出篇
也许您在学习PHP的时候只想尽快的开发一个网站,也就会想我做网站,干嘛要学什么网页这些小儿科?不难看出,眼高手低的新手不在少数,这种思想无疑于建造空中楼阁,你不建地基,何来的房顶呢? <?//本法式是为解析人大复印材料的文章到数据库公用。
//编者:孔秀祥。日期: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>\n";
//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*】(.+)\n/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("/\n\s+\n\s+\n\s+/",$data);
$replacement="/(注.*)$/s"; //应当写上“注”,不然把“(上/下)”也删了。
$replacement="/(注.*)\n\s*/s";//为马庆株的一篇文章而设。注后还有副题。
//echo$poem_array;
$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; //注释
$data=$matchesa; //文章头
if(preg_match($patternb,$data,$matchesb,PREG_SET_ORDER))
$date_rep=$matchesb; //复印期号
else
$date_rep="";
if(preg_match($patternc,$data,$matchesc,PREG_SET_ORDER)){
$artical_title=trim($matchesc); //题目
$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); //作者
else
$artical_author="";
if(preg_match($patterne,$data,$matchese,PREG_SET_ORDER)){
$resource_id=trim($matchese); //人大编号
// echo $resource_id."<BR>";
}
else
$resource_id="";
if(preg_match($patternf,$data,$matchesf,PREG_SET_ORDER))
$origin_periodical=trim($matchesf); //期刊
else
$origin_periodical="";
if(preg_match($patterng,$data,$matchesg,PREG_SET_ORDER))
$date_temp=$matchesg; //出书日期
else
$date_temp="";
if(preg_match($patternh,$data,$matchesh,PREG_SET_ORDER))
$artical_type=trim($matchesh); //文章分类
else
$artical_type="";
/*
if(preg_match($pattern11,$data,$matchesd,PREG_SET_ORDER))
$author_brif=$matchesd; //作者简介
else
$author_brif="";
*/
if(preg_match($pattern12,$data,$matches12,PREG_SET_ORDER))
$content_brif=$matches12; //内容提纲
else
$content_brif="";
// echo$data;
//echo $artical_title;
/*
echo $resource_id."<BR>";
echo $origin_periodical."<BR>";
echo $artical_title."<BR>";
echo $artical_author."<BR>";
*/
// echo $date_rep."<BR>";
if(($artical_title=="")||($resource_id=="")){
$a=$i+1;
echo "题目某人大编号为空,不正当。第 $a 篇没有到场数据库<BR>";
$die=1;
//break;
}
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 \r\n $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_author', '$artical_title', '$artical_data', '$artical_type','$artical__size', '$date_reprinted',$catalog)";
$q="select artical_id,resource_id,artical_title,artical_author,artical_type from artical where resource_id=\"$resource_id\"";
$r = @mysql_query($q);
// $count=@mysql_fetch_row($r);
// echo "$artical_type,,".$count."<BR>";
while($count=mysql_fetch_array($r)){//反复的号码能够有多个,真正反复的纷歧定是第一个找到的。所以要用轮回来找。2001/3/16
//为了找到个来由,我花的价值可是不小。
if($artical_type==$count&&$artical_author==$count){
$data_exist+=1;
$id=$count;
$title=$count;
$author=$count;
$repeat=1;
break;
}
}
if($repeat){
$f_data.="<TR><TD><a href=".$dataurl."readfile.php3?artical_id=$id>$title</a><TD>作者:$author </TR>\r\n";
$repeat=0;
}
else{
$result = @mysql_query($query);
if($result){
$data_insert+=1;
$id= mysql_insert_id();
$f_data.="<TR><TD><a href=".$dataurl."readfile.php3?artical_id=$id>$artical_title</a><TD>作者:$artical_author</TR>\r\n";
}
else{
echo $data;
echo'数据写入掉败<br>';
}//if($result)
}//if(strlen($count)!=0){//文章是不是已存在。
}//if(strlen($artical_title)==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="<html><head><title>$index_title</title></head><body>";
$html_header.="<h5>$index_title</h5>\r\n";
$dte_created=date('Y-m-d H:i:s');
$html_header.="<font color='Maroon' face='楷体' size=1>$index_describe 发明了 $total 条/上载日期:$dte_created</font><hr>\r\n";
$html_header.="<table>\r\n";
$data=$html_header.$f_data;
$data.="<TABLE></body></html>";
/*
If(strlen($index_file)==0){
header("Content-type: text/html");
echo $data;
}
else
{
*/
If(strlen($index_file)!=0){
$in_file="$index_file";
$index_file=$index_path.$in_file;
}
else
$in_file="temp.html";
$fp=indexfile($index_file,$index_title,$index_describe);
fputs($fp, "发明了 $total 条");
fputs($fp, "查询日期:$dte_created</font><hr>\r\n");
fputs($fp,"<table>\r\n");
fputs($fp, $f_data);
fputs($fp, "<TABLE></body></html>");
fclose($fp);
echo "<HTML><HEAD><TITLE>文件提取</TITLE></HEAD><BODY>";
if($added){//假如索引文件存在。$added是一个全局变量。
echo "索引文件".$in_file."已存在,新索引已到场到文件的最初。<BR>";
//echo "请看<a href=$index_url$in_file>".$in_file.'</a>的最初'.$total.'条。<BR>';
}
else{
//将新索引文件写入总索引文件。
$total_index=$index_path."k_index.html";
$fp_i=fopen($total_index,'a+');
$file_link="<a href=$index_url$in_file>$index_describe</a><BR>\r\n";
fputs($fp_i, $file_link);
fclose($fp_i);
}//if($added)
echo"点<a href=$index_url$in_file>这里</a>看新到场的文件索引<BR>";
//}//If(strlen($index_file)==0){
if($data_exist>0)
echo "反复的文章共".$data_exist."篇。<BR>";
if($data_insert>0)
echo "新到场的文章共".$data_insert."篇。<HR>";
$total=$data_exist+$data_insert;
echo"上传文件".$UploadFile_name."共有文章".$total."篇。";
echo"<BR><A HREF = $PHP_SELF>前往 </A>";
echo"</BODY></HTML>";
break;
}
?> 不过语法好学,但是怎么用语法来实现每个人都有每个人的方式,几乎是各有千秋。然而借鉴别人成功的代码,绝对是有益无害,因此,多看那些经过千锤百炼凝出来的经典代码,是进阶的最好方法。 爱上php,他也会爱上你。 基础有没有对学习php没有太大区别,关键是兴趣。 首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。 爱上php,他也会爱上你。 开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。 我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。 找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。 再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。 这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。 本文当是我的笔记啦,遇到的问题随时填充 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 爱上php,他也会爱上你。 其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。 说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
页:
[1]