PHP相关 | LsevenTT博客-站群哥 - Part 5
   

LsevenTT博客-站群哥

认真你就输了

php可以查询IP位置、身份证所在地、手机归属地的接口

php可以查询IP位置、身份证所在地、手机归属地的接口

PHP一些可以查询IP地理位置、身份证所在地、手机归属地的接口

 

 

<?php
/*
新浪的IP查询接口:
新浪的:http://counter.sina.com.cn/ip?ip=IP地址
返回Js数据,感觉不是很精确,可以把问号后面的去掉,直接返回本机对应的IP所在地
有道的IP查询接口:
返回XML数据:http://www.yodao.com/smartresult-xml/search.s?type=ip&q=0.0.0.0
返回JSON数据:http://www.yodao.com/smartresult-xml/search.s?jsFlag=true&type=ip&q=0.0.0.0
把0.0.0.0换成需查询的IP地址即可,这个应该是用纯真的数据库 
太平洋电脑网IP查询接口:
http://whois.pconline.com.cn/?ip=0.0.0.0
把0.0.0.0换成IP地址,页面上还有其他无关内容,这些内容是告诉我们哪些接口可以调用、接口调用参数和使用方法等
查询手机号码归属地接口:
返回XML数据:http://www.youdao.com/smartresult-xml/search.s?type=mobile&q=13888880000
返回JSON数据:http://www.youdao.com/smartresult-xml/search.s?jsFlag=true&type=mobile&q=13888880000
身份证查询接口:
返回XML数据:http://www.youdao.com/smartresult-xml/search.s?type=id&q=身份证号
返回JSON数据:http://www.youdao.com/smartresult-xml/search.s?jsFlag=true&type=id&q=身份证号
*/
echo file_get_contents(“接口网址和参数”);

 

 

收集的dezend解密函数,供大家参考

收集的dezend解密函数,供大家参考

 

 

_obfuscate_KVxnHG5mNw dateadd
_obfuscate_psFkOt3mcvM date_str
_obfuscate_yVVZhmgx addnum
_obfuscate_uENsNGg_qsmwZQ date_array
dmeqjch explode
_obfuscate_ygcjuyGEqwonhw date_str_y
_obfuscate_aBF4alti mktime
_obfuscate_FThtJDI exit
_obfuscate_UpJKPTzuE1XJqA date_str_m
_obfuscate_7g9bDyJZ93M date_str_d
_obfuscate_cgc5Oyd2dGE datediff
_obfuscate_Anwjb3pkPT8hbw now_date_s
_obfuscate_lw t
_obfuscate_YwJjMg date
$_obfuscate_98A $t1
$_obfuscate_qYK4  $mmm
$_obfuscate_EJf  $ddd
$_obfuscate_id18 $yyy
$_obfuscate_mA $G
$_obfuscate_uBlZB47rM9B9 $ddd_array
$_obfuscate_Nh8k9uN9Yw $date_str
_obfuscate_O2EnE2ZnK2t1Pg now_date_l
_obfuscate_cxcJeX0KBAb top_check
_obfuscate_OHpieW9wdHF5Mg
_obfuscate_Oxt1GTABRBsCmRvPWJrdzwFYA   class_all_set_alert
$_obfuscate_2237IOLquqFRSrDUgg $class_all_set
$_obfuscate_hIKFSFWj $addset
_obfuscate_e2cucAZdaAUCMg50KRcvMGxePW0 class_all_set_return
_obfuscate_aFt4YyIceXgkGQ  top_logout
_obfuscate_ERcgbXQ1cXcPOzJsZnI2
$_obfuscate_iH1yUJDvtA $ip_real
_obfuscate_ElwMa2Z3 getenv
_obfuscate_CV17ZHUJIGUBXW12dw online_insert
$_obfuscate_gklBsZPN $u_code
$_obfuscate_F8iV $dl1
$_obfuscate_h80G $dl2
$_obfuscate_bZE9 $dl3
$_obfuscate_7Ri3 $uid
$_obfuscate_As $ip
$_obfuscate_DUGt2CQ $dtime
$_obfuscate_G21ytL3J $web_id
$_obfuscate_3y0Y $sql
$_obfuscate_xs33Yt_k $result
_obfuscate_eRAbJC15Ixw7X3UpAWo mysql_db_query
$_obfuscate_Bd9FiGxKBWBK_claxA  $db_error_string
$_obfuscate_gkt $row
_obfuscate_O2ZrZHdmeCMoBxN4aCBjPS8 mysql_fetch_array
$_obfuscate_TC7bklrwvFI $bet_type

_obfuscate_dAR2CGIDf2gMPw strtolower
@_obfuscate_Km9mBw @exec
$_obfuscate_Sp5LVQlSBy8 $ipconfig
_obfuscate_B2chbS9wCA is_file

_obfuscate_X29iZnVzY2F0ZV9lcmFiamMxNWl4dzd4M3VwYXdvw   mysql_db_query
_obfuscate_X29iZnVzY2F0ZV9vMnpyemhkbWVjbW9ieG40YWNianBzOP8 mysql_fetch_array

_obfuscate_L2wTaTR1BQ explode

_obfuscate_KCVjO3d2Xxk4YnRnIXE   mysql_num_rows
_obfuscate_IHNwNyJo                 strlen
_obfuscate_FhcCcnQ          mymd5
_obfuscate_FgQPcBYaeH0qGjc( );     mysql_close( );
_obfuscate_EGl9bSQMERgJfQ online_out

_obfuscate_X29iZnVzY2F0ZV9meGxtYjJvdGNha2xnaGpmenM1ZmZiZDN6Z( )         mysql_affected_rows( )

_obfuscate_X29iZnVzY2F0ZV9hYWZxbndvZ2ZxODdwamf   str_replace

_obfuscate_X29iZnVzY2F0ZV9mZ3FwY2J5YWVoMHFnamP( ) mysql_close ()

_obfuscate_X29iZnVzY2F0ZV9leWFZnhjZg  sizeof

_obfuscate_X29iZnVzY2F0ZV9rM3hbXhsdg intval

_obfuscate_eyAfXcF sizeof
_obfuscate_bSdfbAarray_pop
_obfuscate_N3N4OHlveHAzZHM  array
_obfuscate_bSdfbA sort

_obfuscate_X29iZnVzY2F0ZV9jeGl6YXJvdWJxdDdoZDj     mysql_query

_obfuscate_axjhdtlixgqoh2qvkxht       mysql_fetch_row

_obfuscate_amIjeArand
ovhsc       round

arsort         _obfuscate_HWxlCmV9

php语言中的preg_match_all中isU是什么意思

php语言中的preg_match_all中isU是什么意思

 

今天在一个php中看到一个这个 :

preg_match_all(‘|<div class=\”box bdr1\”>(.*)</table>|isU’,$content,$table);    不知道这个isU是什么意思。

查找了一下:

在PHP中有自己的定义
i -可同时匹配大小写字母 
M -将字符串视为多行 
S -将字符串视为单行,换行符做普通字符看待,使“.”匹配任何字符 
X -模式中的空白忽略不计 
U -匹配到最近的字符串 
e -将替换的字符串作为表达使用

 

 




使用PHP实现采集远程图片功能

使用PHP实现采集远程图片功能

当我们需要采集网络上的某个网页内容时,如果目标网站上的图片做了防盗链的话,我们直接采集过来的图片在自己网站上是不可用的。那么我们使用程序将目标网站上的图片下载到我们网站服务器上,然后就可调用图片了。

本文将使用PHP实现采集远程图片功能。基本流程:

1、获取目标网站图片地址。

2、读取图片内容。

3、创建要保存图片的路径并命名图片名称。

4、写入图片内容。

5、完成。

我们通过写几个函数来实现这一过程。

函数make_dir()建立目录。判断要保存的图片文件目录是否存在,如果不存在则创建目录,并且将目录设置为可写权限。

function make_dir($path){
if(!file_exists($path)){//不存在则建立
$mk=@mkdir($path,0777); //权限
@chmod($path,0777);
}
return true;
}
函数read_filetext()取得图片内容。使用fopen打开图片文件,然后fread读取图片文件内容。

function read_filetext($filepath){
$filepath=trim($filepath);
$htmlfp=@fopen($filepath,”r”);
//远程
if(strstr($filepath,”://”)){
while($data=@fread($htmlfp,500000)){
$string.=$data;
}
}
//本地
else{
$string=@fread($htmlfp,@filesize($filepath));
}
@fclose($htmlfp);
return $string;
}
函数write_filetext()写文件,将图片内容fputs写入文件中,即保存图片文件。

function write_filetext($filepath,$string){
//$string=stripSlashes($string);
$fp=@fopen($filepath,”w”);
@fputs($fp,$string);
@fclose($fp);
}
函数get_filename()获取图片名称,也可以自定义要保存的文件名。

function get_filename($filepath){
$fr=explode(“/”,$filepath);
$count=count($fr)-1;
return $fr[$count];
}
然后将几个函数组合,在函数save_pic()中调用,最后返回保存后的图片路径。

function save_pic($url,$savepath=”){
//处理地址
$url=trim($url);
$url=str_replace(” “,”%20”,$url);
//读文件
$string=read_filetext($url);
if(empty($string)){
echo ‘读取不了文件’;exit;
}
//文件名
$filename = get_filename($url);
//存放目录
make_dir($savepath); //建立存放目录
//文件地址
$filepath = $savepath.$filename;
//写文件
write_filetext($filepath,$string);
return $filepath;
}
最后一步就是调用save_pic()函数保存图片,我们使用以下代码做测试。

//目标图片地址
$pic = “http://img0.pconline.com.cn/pconline/1205/06/2776119_end1_thumb.jpg”;
//保存目录
$savepath = “images/”;
echo save_pic($pic,$savepath);
实际应用中,我们可能会采集某个站点的内容,比如产品信息,包括采集防盗链的图片保存到网站上服务器上。这时我们可以使用正则匹配页面内容,将页面中相匹配的图片都找出来,然后分别下载到网站服务器上,完成图片的采集。以下代码仅供测试:

function get_pic($cont,$path){
$pattern_src = ‘/< [img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/’;
$num = preg_match_all($pattern_src, $cont, $match_src);
$pic_arr = $match_src[1]; //获得图片数组
foreach ($pic_arr as $pic_item) { //循环取出每幅图的地址
save_pic($pic_item,$path); //下载并保存图片
echo “[OK]..!”;
}
}
然后我们通过分析页面内容,将主体内容找出来,调用get_pic()实现图片的保存。

//我们采集太平洋电脑网上一篇关于手机报道内容页的图片
$url = “http://gz.pconline.com.cn/321/3215791.html”;

$content = file_get_contents($url);//获取网页内容
$preg = ‘#

(.*)

#iUs’;
preg_match_all($preg, $content, $arr);
$cont = $arr[1][0];
get_pic($cont,’img/’);
以上代码笔者亲测,可以采集图片,但是还有些场景没考虑进去,比如目标网站做了302多次跳转的,目标网站做了多种防采集的,留给喜欢折腾的同学去试试吧。

PHP采集百度下拉框数据的脚本程序源码

PHP采集百度下拉框数据的脚本程序源码

代码如下

My Toggle

<html>
<head>
<meta http-equiv=”content-type” content=”text/html; charset=UTF-8″>
<link type=”text/css” rel=”stylesheet” href=”http://http://www.lseventt.com/themes/wooyun/style.css”/></meta>
</head>
<body>
<?php
$word=$_GET[‘word’];
if ($word==””)
{
echo <<<EOF
<form action=”” method=”get”>
<p>关键词: <input type=”text” name=”word” /></p>
<input type=”submit” value=”<span class=’wp_keywordlink_affiliate’><a href=”http://www.Lseventt.com/index.php?s=%E7%AB%99%E7%BE%A4″ title=”查看站群中的全部文章” target=”_blank”>站群</a></span>” />

EOF;
}
else
{

$data=file_get_contents(‘http://suggestion.baidu.com/su?wd=’.$word);
$data=mb_convert_encoding($data, ‘UTF-8’, ‘UTF-8,GBK,GB2312,BIG5’ );
$data_temp=strpos($data,”x”);
$data=substr_replace($data,””,$data_temp,17);
$data = trim($data,”);”);
$data = trim($data,”{“);
$data=preg_replace(“/q:.+?.e,/”,”, $data);
$data = str_replace(“[“,””,$data);
$data = str_replace(“]”,””,$data);
$data = “[“.$data.”]”;
$data = str_replace(“,”,”},s:”,$data);
$data = str_replace(“s:”,”{\”s\”:”,$data);//复杂的处理,以符合json格式
$dc=json_decode($data);
for ($n = 0; $n < = 9; $n++)
{
$wd[$n]=$dc[$n]->s;
echo “”.$wd[$n];
}

}
?>
</body>
</html>

Bing排名检查:PHP把Bing排名关键字函数

Bing排名检查:PHP把Bing排名关键字函数

这里是Bing秩函数的孩子。Bing排名检查。

享受!

/*函数获取域特定关键词的排名位置。

* var关键字[ ]美元的字符串

*电邮域名List[String] | www.domain.com | domain.com

*无论你期望你的域名是上市或无www前缀。

*

功能bingrank($关键词,为域){

级别:0美元;

URL = array()美元;

对(我= 0;$i < 5;$i++){ RN = = =我美元美元的‘0’?”:我; 为查询=“http://www.bing.com/search?q =”。URLEncode($关键词)。“首先”。$ RN。“1”; result_page = file_get_contents美元($查询); preg_match_all(/ class=“sb_tlst”>

<a href =“(。*?)”/”,result_page美元,$matches);

foreach($matches [ 1 ]为URL){

[ ] = $ URL的URL美元;

}

}

对(我= 0;我< 计数($ URL);$i++){ 如果(stristr($网址[我],'http:/ / '。$域)){ 秩=我+ 1美元; 打破; } } 返回的排名; } ----------------------------------------------原版----------------------------------- /* Function to get ranking position of domain for given keyword.
* var $keyword [string]
* var $domain [string] | www.domain.com | domain.com
* Whichever you expect your domain to be listed with or without www prefix.
*/
function bingrank($keyword,$domain){

$rank = ‘0’;
$urls = array();

for($i=0;$i<5;$i++){

$rn=$i==’0′?”:$i;

$query = “http://www.bing.com/search?q=”.urlencode($keyword).”&first=”.$rn.”1″;

$result_page = file_get_contents($query);

preg_match_all(‘/class=”sb_tlst”>

雅虎排名检查:PHP函数得到雅虎的关键字排名

雅虎排名检查:PHP函数得到雅虎的关键字排名

这里是您的关键字和域函数来获得雅虎的排名。雅虎排名检查。

至于与Googlerank的功能在以前的帖子,如果你想通过更多的雅虎网页搜索功能
更改 为($ I = 0; $ 5,$ i + +){ 行的代码中。

享受!

下一步将一个函数来获取你的排名在“兵”。

/ *函数域对于给定的关键字的排名位置。
*变量$关键字[字符串]
*变量$域[字符串] | www.domain.com的domain.com的
*无论你期望你的域带或不带www前缀上市。
* /
功能yahoorank($关键字,域){

排名= ‘0’;
$网址=阵列();

($ i = 0; $ I <5; $ i + +){

RN = $ I == ‘0’?“:$ I;

$查询=“htt​​p://search.yahoo.com/search?p =”进行urlencode($关键字)。“&B =”RN“1”;

$ result_page =获取网页($查询);

preg_match_all(’/类=“yschttl SPT”HREF =“(*)”> /’,$ result_page。,$匹配);

的foreach($匹配[1] $网址){
[] = $网址URL;
}

}

/ /的print_r($网址); exit()的;

($ i = 0; $ I < 计数(网址),$ i + +){ (stristr(网址[I]的'http://'。域)){ 排名= $ i +1的; 打破; } } 返回排名; } ---------------------------------------原版 /* Function to get ranking position of domain for given keyword.
* var $keyword [string]
* var $domain [string] | www.domain.com | domain.com
* Whichever you expect your domain to be listed with or without www prefix.
*/
function yahoorank($keyword,$domain){

$rank = ‘0’;
$urls = array();

for($i=0;$i<5;$i++){

$rn=$i==’0′?”:$i;

$query = “http://search.yahoo.com/search?p=”.urlencode($keyword).”&b=”.$rn.”1″;

$result_page = file_get_contents($query);

preg_match_all(‘/class=”yschttl spt” href=”(.*?)”>/’,$result_page,$matches);

foreach($matches[1] AS $url){
$urls[] = $url;
}

}

//print_r($urls);exit();

for($i=0;$i< count($urls);$i++){ if(stristr($urls[$i],'http://'.$domain)){ $rank = $i +1; break; } } return $rank; }

php版爱站关键词采集器

php版爱站关键词采集器

php版爱站关键词采集器代码如下

 

<?php
header("Content-type: text/html; charset=utf-8"); 
 
$word=$_GET['word'];
 
$username = "****@163.com";//你的爱站账户
$passwd = "***";//你的爱站密码
$login_url = "http://www.aizhan.com/login.php";
$user_agent = "Mozilla/5.0 (Windows NT 6.2; rv:17.0) Gecko/20100101 Firefox/17.0";
 
//获取sessionid
$session_header = array ();
$session_header [] = "Host: www.aizhan.com";
$session_header [] = "User-Agent: " . $user_agent;
$session_header [] = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
$session_header [] = "Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3";
$session_header [] = "Accept-Encoding: gzip, deflate";
$session_header [] = "Connection: keep-alive";
 
$ckfile = tempnam ( "./temp", "tem" );
 
$curl = curl_init ();
curl_setopt ( $curl, CURLOPT_URL, $login_url );
curl_setopt ( $curl, CURLOPT_USERAGENT, $user_agent );
curl_setopt ( $curl, CURLOPT_HTTPHEADER, $session_header );
curl_setopt ( $curl, CURLOPT_ENCODING, 'gzip, deflate' );
curl_setopt ( $curl, CURLOPT_HEADER, 1 );
curl_setopt ( $curl, CURLOPT_AUTOREFERER, true );
curl_setopt ( $curl, CURLOPT_COOKIEJAR, $ckfile );
curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, true );
curl_setopt ( $curl, CURLOPT_TIMEOUT, 15 );
$html = curl_exec ( $curl );
curl_close ( $curl );
 
$cookie_str = file ( $ckfile );
foreach ( $cookie_str as $v ) {
    if (stripos ( $v, 'PHPSESSID' ) != FALSE) {
        $cook = preg_split ( "/[\s]+/", $v );
        $result = array_search ( "PHPSESSID", $cook );
        if ($result != FALSE) {
            $cookie ['PHPSESSID'] = $cook [$result + 1];
        }
    }
}
unset ( $session_header );
unset ( $curl );
 
$cookie_str = "PHPSESSID=".$cookie ['PHPSESSID'];
 
//登陆aizhan******************************************************************************
//$ckfile2 = tempnam ("./temp", "login");
$login_header = array ();
$login_header [] = "Host: www.aizhan.com";
$login_header [] = "User-Agent: " . $user_agent;
$login_header [] = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
$login_header [] = "Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3";
$login_header [] = "Accept-Encoding: gzip, deflate";
$login_header [] = "Connection: keep-alive";
$login_header [] = "Referer: http://www.aizhan.com/login.php";
$login_header [] = "Cookie: " . $cookie_str;
$login_header [] = "Content-Type: application/x-www-form-urlencoded";
//$login_header[] = "Content-Length: 51";
$login_post = array ('refer' => '', 'email' => $username, 'password' => $passwd );
 
//print_r ( $login_header );
 
$post_str = '';
foreach ( $login_post as $k => $v ) {
    $post_str .= $k . '=' . $v . '&';
}
$post_str = substr ( $post_str, 0, - 1 );
 
$curl = curl_init ();
curl_setopt ( $curl, CURLOPT_URL, $login_url );
curl_setopt ( $curl, CURLOPT_USERAGENT, $user_agent );
curl_setopt ( $curl, CURLOPT_HTTPHEADER, $login_header );
curl_setopt ( $curl, CURLOPT_POST, 1 );
curl_setopt ( $curl, CURLOPT_POSTFIELDS, $post_str );
curl_setopt ( $curl, CURLOPT_ENCODING, 'gzip, deflate' );
curl_setopt ( $curl, CURLOPT_HEADER, 1 );
curl_setopt ( $curl, CURLOPT_AUTOREFERER, true );
curl_setopt ( $curl, CURLOPT_COOKIEJAR, $ckfile );
curl_setopt ( $curl, CURLOPT_COOKIEFILE, $ckfile );
curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, true );
curl_setopt ( $curl, CURLOPT_TIMEOUT, 15 );
$html = curl_exec ( $curl );
curl_close ( $curl );
 
//获取指数
$cookie_str = file($ckfile);
 
$cookie_str = file($ckfile);
foreach($cookie_str as $v){
    if(stripos($v,'PHPSESSID')!=FALSE){
        $cook = preg_split("/[\s]+/", $v);
        $result = array_search("PHPSESSID", $cook);
        if($result!=FALSE){
            $cookie['PHPSESSID']=$cook[$result+1];
        }
    }
    if(stripos($v,'userId')!=FALSE){
        $cook = preg_split("/[\s]+/", $v);
        $result = array_search("userId", $cook);
        if($result!=FALSE){
            $cookie['userId']=$cook[$result+1];
        }
    }
    if(stripos($v,'userName')!=FALSE){
        $cook = preg_split("/[\s]+/", $v);
        $result = array_search("userName", $cook);
        if($result!=FALSE){
            $cookie['userName']=$cook[$result+1];
        }
    }
    if(stripos($v,'userGroup')!=FALSE){
        $cook = preg_split("/[\s]+/", $v);
        $result = array_search("userGroup", $cook);
        if($result!=FALSE){
            $cookie['userGroup']=$cook[$result+1];
        }
    }
    if(stripos($v,'userSecure')!=FALSE){
        $cook = preg_split("/[\s]+/", $v);
        $result = array_search("userSecure", $cook);
        if($result!=FALSE){
            $cookie['userSecure']=$cook[$result+1];
        }
    }
}
$cookie_str = "userId={$cookie['userId']}; userName={$cookie['userName']}; userGroup={$cookie['userGroup']}; userSecure={$cookie['userSecure']}";
 
//echo $cookie_str;
//echo $ckfile;
//exit();
 
$enword = urlencode($word);
$target_url = "http://ci.aizhan.com/{$enword}/";
$search_header = array ();
$search_header [] = "Host: ci.aizhan.com";
$search_header [] = "User-Agent: " . $user_agent;
$search_header [] = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
$search_header [] = "Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3";
$search_header [] = "Accept-Encoding: gzip, deflate";
$search_header [] = "Connection: keep-alive";
$search_header [] = "Cookie: " . $cookie_str;
 
//print_r($cookie_str);
 
$curl = curl_init ();
curl_setopt ( $curl, CURLOPT_URL, $target_url );
curl_setopt ( $curl, CURLOPT_USERAGENT, $user_agent );
curl_setopt ( $curl, CURLOPT_HTTPHEADER, $search_header );
curl_setopt ( $curl, CURLOPT_ENCODING, 'gzip, deflate' );
curl_setopt ( $curl, CURLOPT_HEADER, 1 );
curl_setopt ( $curl, CURLOPT_AUTOREFERER, true );
curl_setopt ( $curl, CURLOPT_COOKIEJAR, $ckfile );
//curl_setopt ( $curl, CURLOPT_COOKIEFILE, $ckfile );
curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, true );
curl_setopt ( $curl, CURLOPT_TIMEOUT, 15 );
$html = curl_exec ( $curl );
curl_close ( $curl );
 
if(!preg_match_all('/<td class=\"blue t_l\"><a href=\"http:\/\/www.baidu.com\/baidu\?word=(.*)<\/tr>/Uis',$html,$words)){
               echo "error";
    }
 
    $result = array();
    foreach ($words[0] as $k=>$v){
        preg_match_all('/<td (.*)<\/td>/Uis',$v,$key);
        $result[] = array('word'=>strip_tags($key[0][0]),'index'=>strip_tags($key[0][1]),'record'=>strip_tags($key[0][2]));
    }
print_r($result);
?>