Google地图接口使用

这里去下载最新的 http://code.google.com/p/php-google-map-api/source/checkout

<?php

/**
 * @Time       Mar 28, 2012 8:51:39 AM
 * @Filename   index.php
 * @Encoding   UTF-8
 * @author zhouitpro zhouitpro@gmail.com
 */
header('Content-Type:text/html;charset=utf-8');
include_once("./GoogleMap.php");

$MAP_OBJECT = new GoogleMapAPI();
$MAP_OBJECT->_minify_js = isset($_REQUEST["min"])?FALSE:TRUE;
/**
 * 参数:
 * 地址
 * 标题
 * 描述
 */
$MAP_OBJECT->addMarkerByAddress("Ningbo, Zhejiang Province, China","标题", "描述");
$MAP_OBJECT->enableStreetViewControls();
$MAP_OBJECT->setWidth('998');    //地图宽
$MAP_OBJECT->setHeight('400');   //地图高
$MAP_OBJECT->setZoomLevel('10');  //离地的距离
$MAP_OBJECT->setMapType('map'); //地图类型
?>
<html>
<head>
<?=$MAP_OBJECT->getHeaderJS();?>
<?=$MAP_OBJECT->getMapJS();?>
</head>
<body>
<?=$MAP_OBJECT->printOnLoad();?>
<?=$MAP_OBJECT->printMap();?>
<?=$MAP_OBJECT->printSidebar();?>
</body>
</html>

js内置对象Math

alert(Math.PI); //打印出pi值
alert(Math.min(1,3,4,6));  //计算一组数字中的最小值
alert(Math.max(1,2,3,4));  //计算一组数字中的最大值
alert(Math.ceil(39.3))  //有小数就自动进1
alert(Math.floor(22.2));  //有小数就取整
alert(Math.round(33.2));  //标准四舍五入
alert(Math.random());  //产生0到1之间的随机数,而不包含0或者1
alert(Math.abs(-4));   //返回绝对值

for(var i=0;i<10;i++){
	document.write(select(3,6));
	document.write("<br />");
}

//根据开始值和结束值返回一个随便数
function select(start,end){
	var total = end-start+1;
	return Math.floor(Math.random()*total+start);
}

js正则静态属性

var pattern = /box/igm;
var str = 'this is a box!,box is data';
pattern.test(str);
alert(RegExp.input); //RegExp['$_']   返回匹配到的字符串
alert(RegExp.leftContext);  //RegExp['$`']   返回第一个匹配到的前面字符串
alert(RegExp.rightContext);   //RegExp["$'"]   返回第一个匹配到的后面字符串
alert(RegExp.lastMatch);       //RegExp['$&']   返回最后一个匹配到的字符串
alert(RegExp.lastParen);    //RegExp['$+']   返回最后一个组匹配的结果,也就是()分组匹配

js数组创建与使用

//声明一个数组
var array = new Array();	

//创建一个数组
var array = [];

//创建数组元素
array[0] = 'zhouitpro';
array[1] = '19';

//创建字符串下标
array['name'] = 'zhouitpro';
array['age'] = 19;
alert(array['name']);

alert(array.length);


/对数组添加元素
array.push('hello','world');
array.pop();  //移除数组最后一个元素
array.shift();  //移除数组开头的元素
array.unshift('yes');  //在数组前端添加一个元素

//排序
array.reverse();   //对数组进行逆向排序
array.sort();      //从小到大排序
alert(array);

js正则创建与基本使用

var box = new RegExp('box','ig');


var box = /box/ig;


//测试正则匹配
//test 和 exec 返回匹配结果(数组),没有匹配到返回null

var pattern = /box/ig;
var str = 'this is a box!,box is data';
//alert(pattern.test(str));

//match字符串匹配,将所有匹配到的结果返回数组
alert(str.match(pattern));

//search 返回第一个匹配到的位置,找不到返回-1
alert(str.search(pattern));

//replace正则替换,后面一个参数是要替换的结果
alert(str.replace(pattern,'tom'));

//split 正则拆分字符串成数组
alert(str.split(pattern));

Linux PHP扩展开发

http://www.walu.cc/phpbook

#cd ~/soft/
#wget http://cn.php.net/distributions/php-5.4.0.tar.gz   //下载php原码包
#tar -xvf php-5.4.0.tar.gz
#cd ext/
#./ext_skel --extname=sun    //添加一个扩展,运行完成后会生成一个目录sun
#cd sun
#vim config.m4   //编辑vim config.m4文件
//将下面内容将前面的dnl去掉
PHP_ARG_ENABLE(sun, whether to enable sun support,
[ --enable-sun         Enable sun support])

//编辑vi php_sun.h文件
vim php_sun.h

找到:PHP_FUNCTION(confirm_sun_compiled); ,新增一行:
PHP_FUNCTION(test); 

vi sun.c
数组里增加我们的函数,找到 zend_function_entry sun_functions[],增加:
PHP_FE(test, NULL)
{NULL, NULL, NULL}

再到 sun.c 文件最后面增加如下代码:
PHP_FUNCTION(test)
{
    char *arg = NULL;
    int arg_len, len;
    char *strg;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &arg, &arg_len) == FAILURE) {
       return;
    }

    len = spprintf(&strg, 0, "Your input string: %s\n", arg);
    RETURN_STRINGL(strg, len, 0);
}

#phpize
#./configure
#make
#sudo make install

//进入/etc/php5/apache2/conf.d/  目录
//创建文件  sun.ini
#vim sun.ini   //写入以下内容
extension=sun.so 

//重新启动apache2
#sudo /etc/init.d/apache2 restart

方法创建成功了,你在php中运行
<?php
 echo test("Hello World");
?>

恢复reset删除的提交

└──> git reflog 
dedb3dc HEAD@{4}: checkout: moving from master to dedb3dc63f413ed6eeba8082b7e93ad136b16d0d^0
a5c8652 HEAD@{5}: commit: my push
73a0325 HEAD@{6}: HEAD^: updating HEAD
4b19d45 HEAD@{7}: HEAD~1: updating HEAD
git reset HEAD@{7}   //恢复到{7}
git rebase 73a0325   //恢复到哈希值为73a0325

服务器搭建一个网站的GIT

在服务器上建立一个git空仓库

# mkdir -p /var/repos/my.git     //创建git目录
# cd /var/repos/my.git
# git init --bare               //创建一个空仓库
# cd hooks
# vim post-receive              //创建钩子文件

写入以下内容 /var/www/mysite 你的网站目录

#!/bin/sh
GIT_WORK_TREE=/var/www/mysite/ git checkout -f

还要给钩子文件加上执行权限

# chmod +x post-receive

Js数组创建

//声明一个数组
var array = new Array();	

//创建一个数组
var array = [];

//创建数组元素
array[0] = 'zhouitpro';
array[1] = '19';

//创建字符串下标

array['name'] = 'zhouitpro';
array['age'] = 19;
alert(array['name']);

//输出数组长度
alert(array.length);

js对象基本使用

	//创建一个对象
	var box = new Object();
	box.name="zhouitpro";  //属性创建
	box.age = 19;
	
	//创建对象2,可以去掉new 也是可以的
	var box = Object();
	
	//创建对象3
	var box = {};
	
	box.name = "zhouitpro"
	
	//对象方式输出
	alert(box.name);
	
	//数组方式输出
	alert(box['name']);
	
	//创建对象方法
	box.run = function(){
		return 'run';
	}
	
	//删除属性
	delete box.name;
	
	//判断属性是否存在
	if(box.name != undefined){
		alert(box.name);
	}