PHP 获取系统信息,PHP 获取服务器详细信息
作者:寒川 发布于:2011-3-3 22:32 Thursday 分类:网页编程
最近花时间简单的写了个企业级CMS,后台用到获取相关系统参数,贴这儿,没准啥时候还能用。
获取系统类型及版本号: php_uname() (例:Windows NT COMPUTER 5.1 build 2600)
只获取系统类型: php_uname('s') (或:PHP_OS,例:Windows NT)
只获取系统版本号: php_uname('r') (例:5.1)
获取PHP运行方式: php_sapi_name() (PHP run mode:apache2handler)
获取前进程用户名: Get_Current_User()
获取PHP版本: PHP_VERSION
获取Zend版本: Zend_Version()
获取PHP安装路径: DEFAULT_INCLUDE_PATH
获取当前文件绝对路径: __FILE__
获取Http请求中Host值: $_SERVER["HTTP_HOST"] (返回值为域名或IP)
获取服务器IP: GetHostByName($_SERVER['SERVER_NAME'])
接受请求的服务器IP: $_SERVER["SERVER_ADDR"] (有时候获取不到,推荐用:GetHostByName($_SERVER['SERVER_NAME']))
获取客户端IP: $_SERVER['REMOTE_ADDR']
获取服务器解译引擎: $_SERVER['SERVER_SOFTWARE']
获取服务器CPU数量: $_SERVER['PROCESSOR_IDENTIFIER']
获取服务器系统目录: $_SERVER['SystemRoot']
获取服务器域名: $_SERVER['SERVER_NAME'] (建议使用:$_SERVER["HTTP_HOST"])
获取用户域名: $_SERVER['USERDOMAIN']
获取服务器语言: $_SERVER['HTTP_ACCEPT_LANGUAGE']
获取服务器Web端口: $_SERVER['SERVER_PORT']
调整PHP和MySQL的时区,实现同步显示中国时间
作者:寒川 发布于:2010-10-27 16:38 Wednesday 分类:网页编程
php curl利用嘀咕、搜狐微博API发布微博
作者:寒川 发布于:2010-8-3 8:57 Tuesday 分类:网页编程
嘀咕、搜狐微博API使用昨晚简单地研究了一下,下面是用php curl利用嘀咕、搜狐微博API发布微博,具体如下:
<?php
$username = 'xieyanwei51';
$password = '123456;
$content='别怕,这是PHP利用API发送的微博!';
//以下是SOHU微博API的使用。
$url = 'http://api.t.sohu.com/statuses/update.xml';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
curl_setopt($curl, CURLOPT_POSTFIELDS,'status='.urlencode($content)) ;
curl_setopt($curl, CURLOPT_HEADER, 0);//1显示头,0不显示头。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//禁止返回status的状态。
curl_exec($curl);
curl_close($curl);
//以下是嘀咕API的使用。
$url = 'http://api.minicloud.com.cn/statuses/update.format';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
curl_setopt($curl, CURLOPT_POSTFIELDS,'content='.urlencode('sorry for emlog')) ;
curl_setopt($curl, CURLOPT_HEADER, 0);//1显示头,0不显示头。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//禁止返回status的状态。
curl_exec($curl);
curl_close($curl);
?>
php curl写个新浪发sina微博的API接口
作者:寒川 发布于:2010-7-31 22:24 Saturday 分类:网页编程
一直没得到新浪微博API Key,自己用php curl写个新浪发sina微博的API接口,发出来分享,和《封装一个php发QQ微博的类
》是一个原理,几乎一模一样了。废话不多说,直接上菜:
<?php
/*
*How to use?
*publish("username","password","have a test.");
*Copy Right 寒川
*URL:http://huikon.cn
*/
function publish($username, $password, $content=''){//发布
$referURL = 'http://t.sina.com.cn';
$url = 'http://t.sina.com.cn/mblog/publish.php';
$fields = array(
'content'=>urlencode($content) ,
);
$fields_string = '';
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&' ; }
rtrim($fields_string ,'&') ;
$fields_string = substr($fields_string, 0,-5);
$cookie_jar = login($username, $password);
$curl = curl_init($url) ;
curl_setopt($curl, CURLOPT_POST,count($fields)) ;
curl_setopt($curl, CURLOPT_POSTFIELDS,$fields_string) ;
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_jar);
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar);
curl_setopt($curl, CURLOPT_REFERER, $referURL);
curl_exec($curl);
curl_close($curl);
unlink($cookie_jar);
}
function login($username, $password){//登录
$loginURL = 'https://login.sina.com.cn/sso/login.php?username='.$username.'&password='.$password.'&returntype=TEXT';
$curl = curl_init($loginURL);
$cookie_jar = tempnam('.', 'cookie');
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
curl_exec($curl);
curl_close($curl);
return $cookie_jar;
}
?>
php判断远程文件是否存在
作者:寒川 发布于:2010-7-21 14:29 Wednesday 分类:网页编程
<?php
function check_file($host,$file)
{
$fp = fsockopen($host, 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "HEAD /$file HTTP/1.1\r\n";// or $out = "HEAD /index.xxx HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
$response = explode(" ",fgets($fp, 128));
fclose($fp);
return $response[2];
}
}
echo check_file('huikon.cn','index.php');
?>
本函数用于判断远程文件是否存在。
dedecms挂马清理记
作者:寒川 发布于:2010-6-19 7:44 Saturday 分类:网页编程
一老同学的网站被挂马了,据说每次登录360都会提示挂马,本人已卸载了360,自然是不知不觉,好在ESET还算尽忠职守,默默地抵御了木马的下载,导致IE浏览器总是无法浏览。换个浏览器k-meleon,网站直接就被打开了,查看了一下源码,js挂马真不少。于是乎登陆ftp修改所有被挂马的模板文件。重新生成html静态页面。没隔几天,又说被挂马了……晕啊!于是乎再次重复上述步骤。难道密码太弱?换了密码,改了后台登陆地址,结果又过了几天,还是被成功挂马了……厉害啊!肯定哪儿存在漏洞。在查看数据库连接配置文件时终于发现了线索,居然在数据库连接配置文件中收集用户名及密码用fputs()函数模拟GET发送到另url中,并且url函数base64_encode()编码了,很迷惑人,细细想来,挂马之人还挺厉害的啊,看来php学的很精通了,这招都能想到,I 服了他。
php实现多关键词sql数据库查询
作者:寒川 发布于:2010-6-10 11:19 Thursday 分类:网页编程
实现的方法实际上是来自至一个asp的关键词sql数据库查询,将其“翻译”成php,简单地实现多关键词sql数据库查询,废话不多讲,直接上菜:
<?php
$keywords="测试 关键词";//从表单获取的关键词。
$keyword =explode(' ',$keywords);//将关键词以空格分割到数组中。
$temp_sql='';
for($i=0;$i<count($keyword);$i++)
{
if($i==count($keyword)-1)
{
$temp_sql=$temp_sql." content LIKE '%".$keyword[0]."%' and ";//根据sql语句后续需要填写“and”
}
else
{
$temp_sql.=$temp_sql." content LIKE '%".$keyword[0]."%' or ";
}
}
$sql="SELECT * FROM table where ".$temp_sql." order by content";//组合查询语句
echo $sql;//输出SQL语句,用于调试、查询
?>
日志分类
最近日志
随机日志
最新评论
- 美图看看
哎 找些药酒擦擦 - 土
我今年都25了······ - 南宁搬家公司
越听越有感觉 - 南宁搬家公司
说实在的我学计算机的excel还没学会 - 草民
我也是学php的不过现在什么也不会了 - 南宁搬家公司
最是无情了 - 南宁搬家公司
我们都已不再年轻了 - 阿芙精油
我正遇到这个问题,以前的都是从数据库读取 - 宜春人才网
情人节过去好久了。。 - 杏林男科
一不小心三八节都过了哈哈
日志档案
- 2012年4月(1)
- 2012年2月(2)
- 2011年11月(2)
- 2011年9月(1)
- 2011年8月(2)
- 2011年7月(2)
- 2011年5月(1)
- 2011年3月(3)
- 2011年2月(2)
- 2010年12月(1)
- 2010年11月(2)
- 2010年10月(3)
- 2010年9月(9)
- 2010年8月(8)
- 2010年7月(13)
- 2010年6月(18)
- 2010年5月(24)
- 2010年4月(10)
- 2010年3月(14)
- 2010年2月(6)
- 2010年1月(7)
- 2009年11月(2)
- 2009年10月(3)
- 2009年9月(3)
- 2009年8月(8)
- 2009年7月(15)
- 2009年6月(14)
- 2009年4月(2)
- 2008年12月(1)
- 2008年6月(1)
- 2008年5月(10)
- 2008年4月(9)
- 2008年3月(5)
- 2008年2月(2)
- 2008年1月(5)
- 2007年12月(4)
- 2006年9月(6)
- 2006年7月(1)


