<?
/*
分页函数
说明
$table 表名
$where 条件
$$url 地址
$record_num_perpage 每一页显示的数量
例:
$page=$_GET['page'];
if(empty($page)) $page=1;
$min=($page-1)*20;
$showpage=get_page('log'," where l_username='$username' ","username=".urlencode($username),20);
*/
function get_page($table,$where,$url,$record_num_perpage)
{
global $page,$min;
$result=mysql_query("select * from $table $where");
$total=mysql_num_rows($result);
if($total)
{
$totalpage=ceil($total/$record_num_perpage);
$nextpage=$page+1;
$uppage=$page-1;
if($page>1)$showpage.="【<a href='?$url&page=$uppage'>上一页</a>】";
$showpage.="有<b><font color='#FF0000'>$total</font></b>条记录,共<b><font color='#FF0000'>$totalpage</font></b>页,当前为第<b><font color='#FF0000'>$page</font></b>页";
if($page<$totalpage) $showpage.="【<a href='?$url&page=$nextpage'>下一页</a>】";
$showpage.=" <select size=\"1\" name=\"page\" onChange=\"javascript:window.open('?$url&page='+this.options[this.selectedIndex].value,'_self')\">";
for($i=1;$i<=$totalpage;$i++)
{
$showpage.="<option value=\"$i\">第".$i."页</option>";
}
$showpage.="</select>";
$showpage=str_replace("<option value=\"$page\">","<option value=\"$page\" selected>",$showpage);
}
else $showpage="<font color=red>当前分类暂无文章!</font>";
return $showpage;
}
/*
文件后缀名函数
*/
function fileExtName ($fStr)
{
$retval = "";
$pt = strrpos($fStr, ".");
if ($pt) $retval = substr($fStr, $pt+1, strlen($fStr) - $pt);
return ($retval);
}
/*
文件上传函数 注意返回值
*/
function Upload()
{
$uploaddir = './upload/';
$ext = fileExtName($_FILES['photo']['name']);
$ext = strtolower($ext);
if($ext)
{
if($ext!="jpg" && $ext!="gif")
{
$ms= "<script>alert('文件类型出错,请返回重试。');top.location.href='register.php';</script>"; }
else
{
$m=myphoto;
$middir=md5($m);
$uploadfile = $uploaddir . $middir.".".$ext;
move_uploaded_file($_FILES['photo']['tmp_name'], $uploadfile);
$ms=$uploadfile;
}
}
else
{
$ms="<script>alert('文件类型出错,请返回重试。');top.location.href='register.php';</script>";
}
return $ms;
}
//获得当前的脚本网址
function get_php_url(){
if(!empty($_SERVER["REQUEST_URI"])){
$scriptName = $_SERVER["REQUEST_URI"];
$nowurl = $scriptName;
}else{
$scriptName = $_SERVER["PHP_SELF"];
if(empty($_SERVER["QUERY_STRING"])) $nowurl = $scriptName;
else $nowurl = $scriptName."?".$_SERVER["QUERY_STRING"];
}
return $nowurl;
}
//把全角数字转为半角数字
function GetAlabNum($fnum){
$nums = array("0","1","2","3","4","5","6","7","8","9");
$fnums = "0123456789";
for($i=0;$i<=9;$i++) $fnum = str_replace($nums[$i],$fnums[$i],$fnum);
$fnum = ereg_replace("[^0-9\.]|^0{1,}","",$fnum);
if($fnum=="") $fnum=0;
return $fnum;
}
//去除HTML标记
function Text2Html($txt){
$txt = str_replace(" "," ",$txt);
$txt = str_replace("<","<",$txt);
$txt = str_replace(">",">",$txt);
$txt = preg_replace("/[\r\n]{1,}/isU","<br/>\r\n",$txt);
return $txt;
}
//清除HTML标记
function ClearHtml($str){
$str = str_replace('<','<',$str);
$str = str_replac?e('>','>',$str);
return $str;
}
//相对路径转化成绝对路径
function relative_to_absolute($content, $feed_url) {
preg_match('/(http|https|ftp):\/\//', $feed_url, $protocol);
$server_url = preg_replace("/(http|https|ftp|news):\/\//", "", $feed_url);
$server_url = preg_replace("/\/.*/", "", $server_url);
if ($server_url == '') {
return $content;
}
if (isset($protocol[0])) {
$new_content = preg_replace('/href="\//', 'href="'.$protocol[0].$server_url.'/', $content);
$new_content = preg_replace('/src="\//', 'src="'.$protocol[0].$server_url.'/', $new_content);
} else {
$new_content = $content;
}
return $new_content;
}
//取得所有链接
function get_all_url($code){
preg_match_all('/<a\s+href=["|\']?([^>"\' ]+)["|\']?\s*[^>]*>([^>]+)<\/a>/i',$code,$arr);
return array('name'=>$arr[2],'url'=>$arr[1]);
}
//获取指定标记中的内容
function get_tag_data($str, $start, $end){
if ( $start == '' || $end == '' ){
return;
}
$str = explode($start, $str);
$str = explode($end, $str[1]);
return $str[0];
}
//HTML表格的每行转为CSV格式数组
function get_tr_array($table) {
$table = preg_replace("'<td[^>]*?>'si",'"',$table);
$table = str_replace("</td>",'",',$table);
$table = str_replace("</tr>","{tr}",$table);
//去掉 HTML 标记
$table = preg_replace("'<[\/\!]*?[^<>]*?>'si","",$table);
//去掉空白字符
$table = preg_replace("'([\r\n])[\s]+'","",$table);
$table = str_replace(" ","",$table);
$table = str_replace(" ","",$table);
$table = explode(",{tr}",$table);
array_pop($table);
return $table;
}
//将HTML表格的每行每列转为数组,采集表格数据
function get_td_array($table) {
$table = preg_replace("'<table[^>]*?>'si","",$table);
$table = preg_replace("'<tr[^>]*?>'si","",$table);
$table = preg_replace("'<td[^>]*?>'si","",$table);
$table = str_replace("</tr>","{tr}",$table);
$table = str_replace("</td>","{td}",$table);
//去掉 HTML 标记
$table = preg_replace("'<[\/\!]*?[^<>]*?>'si","",$table);
//去掉空白字符
$table = preg_replace("'([\r\n])[\s]+'","",$table);
$table = str_replace(" ","",$table);
$table = str_replace(" ","",$table);
$table = explode('{tr}', $table);
array_pop($table);
foreach ($table as $key=>$tr) {
$td = explode('{td}', $tr);
array_pop($td);
$td_array[] = $td;
}
return $td_array;
}
//返回字符串中的所有单词 $distinct=true 去除重复
function split_en_str($str,$distinct=true) {
preg_match_all('/([a-zA-Z]+)/',$str,$match);
if ($distinct == true) {
$match[1] = array_unique($match[1]);
}
sort($match[1]);
return $match[1];
}
/*PHP的unescape转换函数,用来转换Javascript用escape函数加密过的字符
--此函数需要iconv函数库支持*/
function unescape($str) {
$str = rawurldecode($str);
preg_match_all("/%u.{4}|&#x.{4};|&#\d+;|&#\d+?|.+/U",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(substr($v,0,2) == "%u")
$ar[$k] = iconv("UCS-2","UTF-8",pack("H4",substr($v,-4)));
elseif(substr($v,0,3) == "&#x")
$ar[$k] = iconv("UCS-2","UTF-8",pack("H4",substr($v,3,-1)));
elseif(substr($v,0,2) == "&#") {
$ar[$k] = iconv("UCS-2","UTF-8",pack("n",preg_replace("/[^\d]/","",$v)));
}
}
return join("",$ar);
}
?>