首页 > php代码

php采集后的处理

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。http://blog.csdn.net/mayongzhan - 马永占,myz,mayongzhan

阅读全文

PHP打包成EXE

大家经常会接到一些编程的活,例如设计企业网站,做做财务,统计系统什么的。或许是因为朋友的需求,或许图个零花。不管什么原因吧。等程序做好了,给对方展示、安装,就成了问题。企业网站好说,至少需要个虚拟主机什么的;可是OA,财务……这些内部系统就不好说了,总不能把代码和数据库扔给人家,写个说明,让他们自己照着说明去配置环境,安装代码吧。这样显然不像话,要知道隔行如隔山啊!再者,万一客户离自己呆的地方十万八千里,总不能过去给人安装吧,这样估计所有收入都挡不住这一来一往的车费的。所以把WAMP环境+PHP程序+维护安装卸载程序打成EXE安装包就很有必要。要让客户安装PHP程序就像安装QQ一样简单,方便! 

阅读全文

php模拟登录 获取SESSIONID,并则在读取网页的时候发送

方法1用curl:
一.先开启php curl函数库的步骤
1).去掉windows/php.ini 文件里;extension=php_curl.dll前面的;    /*用 echo phpinfo();查看php.ini的路径*/
2).把php5/libeay32.dll,ssleay32.dll复制到系统目录windows/下
3).重启apache
二.例子
例子:


<?php
$cookie_jar = tempnam(''./tmp'',''cookie'');
$ch = curl_init(); curl_setopt($ch,CURLOPT_URL,''http://******'');
curl_setopt(
$ch, CURLOPT_POST, 1);
$request = ''email_address=&password=&action='';
curl_setopt(
$ch, CURLOPT_POSTFIELDS, $request);
//把返回来的cookie信息保存在$cookie_jar文件中
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);
//设定返回的数据是否自动显示
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//设定是否显示头信息
curl_setopt($ch, CURLOPT_HEADER, false);
//设定是否输出页面内容
curl_setopt($ch, CURLOPT_NOBODY, false);
curl_exec(
$ch);
curl_close(
$ch); //get data after login

$ch2 = curl_init();
curl_setopt(
$ch2, CURLOPT_URL, ''http://*****'');
curl_setopt(
$ch2, CURLOPT_HEADER, false);
curl_setopt(
$ch2, CURLOPT_RETURNTRANSFER, 1);
curl_setopt(
$ch2, CURLOPT_COOKIEFILE, $cookie_jar);
$orders = curl_exec($ch2);
echo '''';
echo strip_tags($orders);
echo '''';
curl_close(
$ch2);
?>
方法2用fsockopen:

<?php
function GetWebContent($host, $method, $str, $sessid = '''')
{
    
$ip = gethostbyname($host);
//echo "ip=$ip<br>";
    [email=$fp=@fsockopen($ip,80]$fp=@fsockopen($ip,80[/email]);
    
if (!$fpreturn;
    
fputs($fp, "$method");
    
fputs($fp, "Host: $host");
    
if (!empty($sessid))
    {
        
fputs($fp, "Cookie: PHPSESSID=$sessid; path=/;");
    }
    
if ( substr(trim($method),0, 4== "POST")
    {
        
fputs($fp, "Content-Length: ". strlen($str. ""); //  别忘了指定长度
    }
    
//fputs($fp, "Content-Type: application/x-www-form-urlencoded ");
fputs($fp, "Content-Type: application/x-www-form-urlencoded");
fputs($fp, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1) )");//add by Ew 071012
fputs($fp, "Connection: Keep-Alive");
    
if ( substr(trim($method),0, 4== "POST")
    {
        
fputs($fp, $str."");
    }
    
while(!feof($fp))
    {
        
$response .= fgets($fp);
    }
    
$hlen = strpos($response,""); // LINUX下是 " "
    $header = substr($response, 0, $hlen);
//echo "header=$header<hr><hr>";
    $entity = substr($response, $hlen + 4);
    
if ( preg_match(''/PHPSESSID=([0-9a-z]+);/i'', $header, $matches))
    {
        
$a[''sessid''= $matches[1];
    }
    
if ( preg_match(''/Location: ([0-9a-z_?=&#.]+)/i'', $header, $matches))
    {
        
$a[''location''= $matches[1];
    }
    
$a[''content''= $entity;    
    
fclose($fp);
    
return $a;
}

  
$response = GetWebContent("$host","POST /$login_page HTTP/1.0", $str);//登入得到新的session_id
  //...可以在这里先保存session_id

  $response = GetWebContent("$host","GET /$somepage HTTP/1.0", '''', $response[''sessid'']);//使用session_id访问页面
  echo $response[''location''].$response[''content'']."<br>";
?>

  




<

阅读全文

php+ajax无刷新实现省、地、市三级联动

<html>
<
head
>
<
meta http-equiv="Content-Type" 
/>
<
script type="text/javascript"
>
var 
xmlHttp
;
var 
requestType=""
;
function 
createXMLHttpRequest
()
{
if(
window.ActiveXObject
)
{
  
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"
);
}
else if(
window.XMLHttpRequest
)
{
  
xmlHttp=new XMLHttpRequest
();
}
}
function 
queryCity(citycode
){
createXMLHttpRequest
();
type="city"
;
var 
url="data.php?provincecode="+citycode
;
xmlHttp.open("GET",url,true
);
xmlHttp.onreadystatechange=handleStateChange
;
xmlHttp.send(null
);
}
function 
queryArea(citycode
){
createXMLHttpRequest
();
type="area"
;
var 
url="data.php?citycode="+citycode
;
xmlHttp.open("GET",url,true
);
xmlHttp.onreadystatechange=handleStateChange
;
xmlHttp.send(null
);
}
function 
handleStateChange
(){
if(
xmlHttp.readystate==4
){
  if(
xmlHttp.status==200
){
   if(
type=="city"
){
    
showcity
();
   }else if(
type="area"
){
    
showarea
();
   }
  }
}
}
function 
showcity
(){
document.getElementById("city").innerHTML=xmlHttp.responseText
;
document.getElementById("area").innerHTML=""
;
}
function 
showarea
(){
document.getElementById("area").innerHTML=xmlHttp.responseText
;
}
</script>
</head>
<body>
<?
$conn
=mysql_connect("localhost","root","2328725"
);
mysql_select_db("novel"
);
mysql_query("set names 'utf8'"
);
$sql="select * from province"
;
$result=mysql_query($sql
);
echo 
"<from id='form1'>n"
;
echo 
"<select id='province' onchange='queryCity(this.options[this.selectedIndex].value)'>n"
;
echo 
"<option value='-1' selected>请选择省份</option>n"
;
while(
$row=mysql_fetch_row($result
)){
  echo 
"<option value='$row[1]'>$row[2]</option>n"
;
}
echo 
"</select>n"
;
echo 
"<span id='city'></span>n"
;
echo 
"<span id='area'></span>n"
;
echo 
"</form>n"
;
?>

</body>
</html>

阅读全文

php自己写了一个模板

/*
作者: 牛哄哄
Q Q: 455703030
*/
function template($template,$cacheFile,$set)
{
is_readable($template) || exit('模板文件不存在!');
filemtime($template) > @filemtime($cacheFile) && parse_template($template,$cacheFile);
$inTemplate = true;
is_readable($cacheFile) ? include $cacheFile : exit('无法读取缓存,缓存路径可能有误!');
}
function parse_template($template,$cacheFile='')
{
$content = file_get_contents($template);
$content = preg_replace('/{*([^{}]*)*}/','',$content);
$content = preg_replace('/$([A-Za-z0-9_]+)/','$set['\1']',$content);
$content = preg_replace('/$[([A-Za-z0-9_]+)]/','$\1',$content);
$content = preg_replace('/{$([A-Za-z0-9_[]'"]+)}/','<? echo $\1; ?>',$content);
$content = preg_replace('/{include(([^{}]+))}/','<? include \1; ?>',$content);
$content = preg_replace('/{echofile(([^{}]+))}/','<? echo file_get_contents(\1); ?>',$content);
$content = preg_replace('/{code(([^{}]+))}/','<? \1; ?>',$content);
$content = preg_replace('/{if(([^{}]+))}/','<? if (\1) { ?>',$content);
$content = preg_replace('/{elseif(([^{}]+))}/','<? } elseif(\1) { ?>',$content);
$content = preg_replace('/{while(([^{}]+))}/','<? while (\1) { ?>',$content);
$content = preg_replace('/{foreach(([^{}]+))}/','<? foreach (\1) { ?>',$content);
$content = str_replace(array('{else}','{/if}','{/while}','{/foreach}'),array('<? }else{ ?>','<? } ?>','<? } ?>','<? } ?>'),$content);
if (preg_match_all('/{template(([^{}]+))}/',$content,$tplName))
{
  foreach ($tplName[1] as $value) $tplContent[] = parse_template(eval('return '.$value.';'));
  $content = str_replace($tplName[0],$tplContent,$content);
}
if ('' == $cacheFile) return $content;
@file_put_contents($cacheFile,'<? true===$inTemplate || exit('非法访问!'); ?>'.$content);
}

阅读全文