2016-01-13 16:56:03 0 read 3059
header("Content-type:text/html;charset=utf-8");
//--------------------------------------------------------------------------------
date_default_timezone_set('Asia/Shanghai');
echo '<br>';
echo '今天:',date('Y-m-d'),'<br>';
echo '昨天:',date('Y-m-d',strtotime('-1 day')),'<br>';
echo '昨天:',date('Y-m-d',strtotime('yesterday')),'<br>';
echo '明天:',date('Y-m-d',strtotime('+1 day')),'<br>';
echo '一周后:',date('Y-m-d',strtotime('+1 week')),'<br>';
echo '一周零两天四小时两秒后:',date('Y-m-d G:H:s',strtotime('+1 week 2 days 4 hours 2 seconds')),'<br>';
echo '下个星期四:',date('Y-m-d',strtotime('next Thursday')),'<br>';
echo '上个周一:',date('Y-m-d',strtotime('last Monday')),'<br>';
echo '一个月前:',date('Y-m-d',strtotime('last month')),'<br>';
echo '一个月后:',date('Y-m-d',strtotime('+1 month')),'<br>';
echo '十年后:',date('Y-m-d',strtotime('+10 year')),'<br>';
echo '昨天:',date('Y/m/d H:i:s', strtotime('1 days ago')),'<br>';
echo '前天:',date('Y/m/d H:i:s', strtotime('2 days ago')),'<br>';
$time_yes=localtime(time()-24*60*60, true);
$time_b_yes=localtime(time()-2*24*60*60, true);
echo '<pre>localtime(time()-24*60*60, true):';print_r($time_yes);echo '<br>';
echo '<pre>localtime(time()-2*24*60*60, true):';print_r($time_b_yes);echo '<br>';
echo '昨天:',date('Y/m/d H:i:s',mktime(0,0,0,date('m'),date('d')-1,date('Y'))),'<br>';
echo '明天:',date('Y/m/d h:i:s',mktime(date('h'), date('i'), date('s'), date('m') , date('d')+1, date('Y'))),'<br>';
//先得到今天的UNIXTIME,然后减去一天或两天的秒数,把减后的UNIXTIME格式化成日期。
echo '昨天:',date('Y/m/d h:i:s',time()-24*60*60),'<br>';
echo '前天:',date('Y/m/d h:i:s',time()-2*24*60*60),'<br>';
2016-01-13 16:55:19 0 read 2751
开启此功能有两个种方法:
[mysql]
auto-rehash
mysqld_safe --user=mysql --auto-rehash &
2016-01-13 16:54:19 0 read 2621
复制整个表create table new_table select * from old_table;
复制,不复制数据create table new_table select * from old_table where 0;
2016-01-13 16:53:32 0 read 2766
进入php源文件目录
cd php-5.2.8/ext/openssl
/usr/local/bin/phpize
查看openssl目录下有个config.w32和config0.m4,把config0.m4改名为config.m4。
mv config0.m4 config.m4
/usr/local/bin/phpize
make;make install
提示成功后,在php.ini里加入extensi
重启php-fpm
2016-01-13 16:53:05 0 read 2682
时区设置:
一. 在php.ini里设置
`date.timez
二.在php里设置date_default_timezone_set("Asia/Kolkata");
2016-01-13 16:51:57 0 read 3508
查看SVN日志的时候会报:svn出现问题E220001: Item is not readable
这个主要是因为没有授权,我们要对 authz 文件做些简单修改:
[/]
* = r
@admin = rw
2016-01-13 16:50:21 0 read 2511
今天在项目当遇到的问题.
function foo($a){
var_dump($a);
return true;
}
$res = foo();
echo '你妹!' . var_dump($res);;
上面的方法反回的结果:NULL 你妹! bool(true)
首先,调用方法其实是成功了.只报了一个Warning,而没有终止本次调用.
var_dump($a) 是null,这样一来, 后var_dump($a) 后面的程序当中使用$a的时候,都会根据上下文件恩为相应类型.也许就会造成结果一混乱.所以应该在接下来的业务当中根据业务返回值,而不应该直接写 return true; 其实这种写法还很恐怖的.
var_dump($res); 这个结果就直接会造成接下来的业务全部出现混乱. 按理来说, 执行 $res = foo(); 不有传 $a 参数.最好的结果是不再继续往下执行.但php还是执行下去了. 坑啊.
如何避免这种情况呢? 目前没好办法.也许Exception能解决.有待继续探索.
2016-01-13 16:49:02 0 read 2274
ps -ef | grep ^username | cut -c 10-15 | xargs kill -9
杀掉某个用户的所有进程
2016-01-13 16:48:32 0 read 2325
ps x|grep gas|grep -v grep |awk '{print $1}'|xargs kill -9
ps -ef|grep /im/msg_d.php | grep -v grep | cut -c 9-15 |xargs kill -9
运行这条命令将会杀掉所有含有关键字”LOCAL=NO”的进程,是不是很方便?
下面将这条命令作一下简单说明:
管道符”|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。
“ps -ef” 是linux里查看所有进程的命令。这时检索出的进程将作为下一条命令”grep LOCAL=NO”的输入。
“grep LOCAL=NO” 的输出结果是,所有含有关键字”LOCAL=NO”的进程。
“grep -v grep” 是在列出的进程中去除含有关键字”grep”的进程。
“cut -c 9-15” 是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。
“xargs kill -9” 中的 xargs 命令是用来把前面命令的输出结果(PID)作为”kill -9”命令的参数,并执行该命令。”kill -9”会强行杀掉指定进程。
其它类似的情况,只需要修改”grep LOCAL=NO”中的关键字部分就可以了。
2016-01-13 16:46:34 0 read 2320
1.领导能力
2.技术能力
3.沟通能力
4.规划能力
5.外交能力
6.财务能力
2016-01-13 16:46:09 0 read 3045
/etc/rc.local是linux环境下,系统启动完以后会执行的一个脚本,一般来说自已写的一些维护脚本需要开机执行的基本就搁在了。那么OSX系统上有没有这样的文件呢,自已去/etc找了一下,发现一个rc.common的东东很可疑,网上查了一下发现了在OSX系统上添加rc.local的方法具体如下:
1.编辑文件/etc/rc.commonsudo vim /etc/rc.common
尾部添加内容:
if [ -f /etc/rc.local ]; then
sh /etc/rc.local
fi
2.创建文件/etc/rc.localsudo touch /etc/rc.local
然后就可以像Linux一样使用/etc/rc.local了。
/etc/rc.local示例:
#!/bin/bash
/usr/local/bin/nginx
2016-01-13 16:33:59 0 read 2509
var part = new RegExp(pattern,modifiers);
var myfunc = new Function([name],’alert(“Hello” + name)’);
var patt = /pattern/modifiers;
前面已经提到了modifier,它主要用来指明模式是否对大小写敏感以及是否全局搜索。
i: 用来指明是否对大小写敏感。
g: 用来指明是否进行全局搜索。(即匹配所有符合模式的字符串而不是搜索到第一个就停止)
m: 用来指明是否进行多行匹配。(即遇到转义换行符\n是否还继续搜索)
经常用到的是前面两个i和g,m不是很常用。
1.compile()。它将编译一个正则表达式。该方法已经在JavaScript version 1.5中被弃用。
2.exec()。该方法将对一个字符串进行匹配。并返回第一个匹配项目。例如:
var patt1=new RegExp(“e”);
patt1.exec(“The best things in life are free”);
结果将返回e,即第一个匹配到的项目。
3.test()。该方法对一个字符串进行匹配。并根据匹配结果返回true或false。例如:
var patt1=new RegExp(“e”);
patt1.test(“The best things in life are free”);
结果将返回true。因为字符串中含有能匹配上的项目e。
4.toString()。该方法将正则表达式对象转换为一个字符串。例如:
var patt = new RegExp(“Hello World”,”g”);
patt.toString();
结果将返回一个字符串’/Hello World/g’。
/// string
var patt1 = /[is]/gi;
s= str.match(patt1);
console.log(s);
结果: [“i”, “i”, “s”, “i”, “s”]
返回与正则表达式查找内容匹配的第一个子字符串的位置(偏移位)。
返回根据正则表达式进行文字替换后的字符串的复制
四. 正则表达式中的括号
1.[abc] 这是最基本的一种用法,它用来查找方括号中出现的任何字符,可以是一个或者多个,并且和顺序没有关系。
var str = “Do you know if there is all there is?”;
var patt1 = /[is]/gi;1.
2.
如果用patt1来匹配str,那么我们根据上面的定义很容易知道会匹配到str中i和s字母,并且由于patt1中指明了全局匹配和对大小写不敏感,所有的i和s字母无论大小写都会被匹配到。
2.[^abc]。这种写法用来查找任何不属于方括号中出现的字符,下面是一个例子:
var str = “Do you know if there is all there is?”;
var patt2 = /[^is]/gi; 1.
2.
如果使用patt2来匹配str,很明显,字母i和字母s以外的字符都会被匹配到。
3.[0-9]。这种写法用来查找某个区间中的字符。下面是一个例子:
var str = “There are 3 child”;
var patt3 = /[a-z]/ig;1.
2.
使用patt3匹配str,其中所有的a到z的字母,也就是所有英文字母,无论大小写,都会被匹配到。
4.[^0-9]。这种写法用来查找不属于某个区间中的字符。下面是一个例子:
var str = “There are 3 child”;
var patt4 = /[a-z]/ig;”1.
2.
使用patt4来匹配str,所有a到z的字母,也就是所有英文字母,无论大小写都不会被匹配,因此只有数字3会被匹配到。
5.(x|y)。这种写法用来从匹配几种(可以不止两种)情况中的任意一种。下面是一个例子:
var str = “re, green, red, green, gren, gr, blue, yellow”;
var patt5 = /(red|green)/g;1.
2.
如果使用patt5来匹配str,str中所有的red和green都会被匹配到。再来一个多中选择的例子:
var str = “01234567890123456789”;
var patt6 = /(0|5|7)/g; 1.
2.
使用patt6来匹配str,str中所有的数字0、5、7都会被匹配到。
2016-01-13 16:28:38 0 read 2259
世界上最好用的快捷键组合
本文是针对Mac OS而言.如果是windows, 用alt键代替command 一样可以达到很好的效果.
所有标签切换:
command + 1 上一个标签
command + 2 下一个标签
command + ~ 第一个标签
command + 3 最后一个标签
command + q 退出程序
command + w 关闭标签页,这个是系统自带
command + tab 窗口切换
command + shift + 5 截图拍照
command + t 打开新标签页
command + r 刷新页面
command + shift + r 强制刷新页面
command + g 打开审查素功能
command + 4 查看源代码
command + g 定位到行
command + e
command + shift + r 打开文件
command + shift + t 打开类
2016-01-13 16:26:48 0 read 3003
本教程干什么我就不说了.
搞一台国外的vps,只要能正常上被墙网站的就可以.
SSH连接到国外服务器,
2.1 安装gcc
yum -y install gcc1.
2.2 安装openssl及相关
yum install zlib zlib-devel openssl openssl-devel prce prce-devel1.
2.3 生成证书
openssl req -new -x509 -days 365 -nodes -out ${FILE_NAME}.pem -keyout ${FILE_NAME}.pem
${FILE_NAME}.pem是自定义生成的安全证书的名字,其他各个参数的意义如下:
-new:生成新的密匙
-x509:生成X509安全证书
-days 365:有效期1年
-nodes:不设置密码
-out:生成的文件名
-keyout:存放密匙的文件名
1.
2.
3.
4.
5.
6.
7.
8.
9.
2.4 安装squid
CentOS 安装方法
yum -y install squid
配置 sudo vi /etc/squid/squid.conf
清空文件(做好备份), 替换成如下内容
acl all src all
acl CONNECT method CONNECT
http_access allow all
https_port 443 cert=/root/server.crt key=/root/server.key
hierarchy_stoplist cgi-bin ?
coredump_dir /var/spool/squid3
cache_mem 64 MB
重启 squid restart1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
2.5 安装stunnel
wget 下载stunnel
tar zxvf stunnel-4.29.tar.gz
cd stunnel-4.29
./configure
make
make install
make install后会要生成一个stunnel.pem文件, 会问你一写国家城市之类的东东, 相应的填写即可.
配置 sudo vi /usr/local/stunnel/etc/stunnel/stunnel.conf
1 client = yes
2 [https]
3 accept = 127.0.0.1:8088
4 #c
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
2.6 安装 SwitchySharp chrome 插件
情景模式里新建一种模式
名称随便写
选手动配置
HTTP代理 127.0.0.1 端口8088
对所有协议均使用相同的代理服务器 打上勾
2016-01-13 16:26:07 0 read 2531
#menu {
font: 12px verdana, arial, sans-serif;
}
#menu,#menu li {
list-style: none;
padding: 0;
margin: 0;
}
#menu li {
float: left;
}
#menu li a {
display: block;
/* 如果是中英文混排的文字,建议用固定宽度 width:150px; height:30px; line-height:30px; text-align:center; */
padding: 8px 50px;
background: #3A4953;
color: #fff;
text-decoration: none;
border-right: 1px solid #000;
}
#menu li a:hover {
background: #146C9C;
color: #fff;
text-decoration: none;
border-right: 1px solid #000;
}
#menu li a.last {
border-right: 0; /* 去掉左侧边框 */
}
2016-01-13 16:24:07 0 read 2571
HTML {
scrollbar-base-color: #666;
scrollbar-3dlight-color: #666;
scrollbar-highlight-color: #666;
scrollbar-highlight-width: 2px;
scrollbar-track-color: #FFFFFF;
scrollbar-arrow-color: #FFFFFF;
scrollbar-shadow-color: #666;
scrollbar-dark-shadow-color: #666;
}
/* chrome */
::-webkit-scrollbar { width: 5px; height: 3px;}
::-webkit-scrollbar-track-piece { background-color: #ffffff;}
::-webkit-scrollbar-thumb{height: 50px; background-color: #666; -webkit-border-radius: 3px;}
.custom-scroll-bar::-webkit-scrollbar{
background:-webkit-linear-gradient(left,rgba(202, 202, 202, 0.07) 0%,rgba(229, 229, 229, 0.07) 100%);
width:10px;
-webkit-box-shadow:0 0 1px 0 rgba(0,0,0,.15) inset,0 1px 0 0 #fff;
box-shadow:0 0 1px 0 rgba(0,0,0,.15) inset,0 1px 0 0 #fff;
background-color:#E5E5E5;
}
.custom-scroll-bar::-webkit-scrollbar, .custom-scroll-bar::-webkit-scrollbar-thumb{
overflow: visible;
border-radius:4px;
border:solid 1px #A6A6A6;
}
.custom-scroll-bar::-webkit-scrollbar-button{
background-color:transparent;height:0px;display:block;
}
.custom-scroll-bar::-webkit-scrollbar-thumb:hover{
background-color: #fff;
}
2016-01-13 16:22:45 0 read 2341
#topNav {
background-color:#096; z-index:999; position:fixed;
bottom:0; left:0; width:100%; _position:absolute; /* for IE6 */
_top: [removed]documentElement.scrollTop + documentElement.clientHeight-this.offsetHeight); /* for IE6 */
overflow:visible;
}
2016-01-13 16:22:12 0 read 2494
$(document).ready(function(){
$("input[type='text']").each(
function(){
$(this).keypress( function(e) {
var key = window.event ? e.keyCode : e.which;
if(key.toString() == "13"){
alert('Please click respective submit button as Enter key is disabled');
return false;
}
});
});
});
2016-01-13 16:21:35 0 read 2948
这是一篇介绍windows 版chrome 修改快捷键的方案.
首先下载:Resource Hacker 这个软件(有中文版),
然后, 我们进入Chrome的默认安装路径,在当前版本号的文件夹里找到文件chrome.dll,
Win7下该文件在:系统盘:\Users\用户名\AppData\Local\Google\Chrome\Application\当前游览器版本号\,XP应该是大同小异。
在解析出来的chrome.dll文件里我们可以找到快捷键的配置项( 类似下边的配置 )
101 ACCELERATORS
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
{
VK_P, 35007, CONTROL, SHIFT, VIRTKEY 打印当前页面
VK_LEFT, 33000, ALT, VIRTKEY 后退
VK_BACK, 33000, VIRTKEY 下拉
VK_D, 35000, CONTROL, VIRTKEY 添加到收藏夹
VK_D, 35001, CONTROL, SHIFT, VIRTKEY 修改收藏夹
VK_DELETE, 40013, CONTROL, SHIFT, VIRTKEY 清除游览数据
VK_F4, 34015, CONTROL, VIRTKEY 关闭当前标签页
VK_W, 34015, CONTROL, VIRTKEY 关闭当前标签页
VK_W, 34012, CONTROL, SHIFT, VIRTKEY 关闭全部标签页
VK_F, 37000, CONTROL, VIRTKEY 打开"在网页上查找"框
VK_G, 37001, CONTROL, VIRTKEY 查找与您在"在网页上查找"框中输入的内容相匹配的下一个匹配项
VK_F3, 37001, VIRTKEY 查找与您在"在网页上查找"框中输入的内容相匹配的下一个匹配项
VK_G, 37002, CONTROL, SHIFT, VIRTKEY 查找与您在"在网页上查找"框中输入的内容相匹配的上一个匹配项
VK_F3, 37002, SHIFT, VIRTKEY 查找与您在"在网页上查找"框中输入的内容相匹配的上一个匹配项
VK_D, 39001, ALT, VIRTKEY 突出显示网址
VK_L, 39001, CONTROL, VIRTKEY 突出显示网址
VK_F10, 39003, VIRTKEY 不明
VK_MENU, 39003, VIRTKEY 打开选项?
VK_F6, 39004, VIRTKEY 突出显示网址
VK_F6, 39005, SHIFT, VIRTKEY 突出显示网址
VK_K, 39002, CONTROL, VIRTKEY 地址栏搜索
VK_E, 39002, CONTROL, VIRTKEY 地址栏搜索
VK_T, 39000, ALT, SHIFT, VIRTKEY 不明
VK_B, 39006, ALT, SHIFT, VIRTKEY 不明
VK_RIGHT, 33001, ALT, VIRTKEY 前进
VK_BACK, 33001, SHIFT, VIRTKEY 不明
VK_F11, 34030, VIRTKEY 全屏
VK_F1, 40019, VIRTKEY 帮助
VK_I, 40003, CONTROL, SHIFT, VIRTKEY 审查元素
VK_J, 40004, CONTROL, SHIFT, VIRTKEY 审查元素
VK_C, 40022, CONTROL, SHIFT, VIRTKEY 审查元素
VK_F12, 40003, VIRTKEY 审查元素
VK_N, 34001, CONTROL, SHIFT, VIRTKEY 隐身模式
VK_T, 34014, CONTROL, VIRTKEY 新建标签页
VK_N, 34000, CONTROL, VIRTKEY 打开一个新的游览器并新建标签页
VK_O, 40000, CONTROL, VIRTKEY 打开...
VK_P, 35003, CONTROL, VIRTKEY 打印
VK_R, 33002, CONTROL, VIRTKEY 刷新
VK_R, 33007, CONTROL, SHIFT, VIRTKEY 刷新
VK_F5, 33002, VIRTKEY 刷新
VK_F5, 33007, CONTROL, VIRTKEY 刷新
VK_F5, 33007, SHIFT, VIRTKEY 刷新
VK_HOME, 33003, ALT, VIRTKEY 回到主页
VK_T, 34028, CONTROL, SHIFT, VIRTKEY 新建标签页
VK_S, 35004, CONTROL, VIRTKEY 另存为
VK_9, 34026, CONTROL, VIRTKEY 转到第九个标签
VK_NUMPAD9, 34026, CONTROL, VIRTKEY 转到最后一个标签
VK_TAB, 34016, CONTROL, VIRTKEY 下一个标签
VK_NEXT, 34016, CONTROL, VIRTKEY 下一个标签
VK_TAB, 34017, CONTROL, SHIFT, VIRTKEY 上一个标签
VK_PRIOR, 34017, CONTROL, VIRTKEY 切换到第一个标签?
VK_1, 34018, CONTROL, VIRTKEY 切换到第一个标签
VK_NUMPAD1, 34018, CONTROL, VIRTKEY 切换到第一个标签
VK_2, 34019, CONTROL, VIRTKEY 切换到第二个标签
VK_NUMPAD2, 34019, CONTROL, VIRTKEY 切换到第二个标签
VK_3, 34020, CONTROL, VIRTKEY 切换到第三个标签
VK_NUMPAD3, 34020, CONTROL, VIRTKEY 切换到第三个标签
VK_4, 34021, CONTROL, VIRTKEY 切换到第四个标签
VK_NUMPAD4, 34021, CONTROL, VIRTKEY 切换到第四个标签
VK_5, 34022, CONTROL, VIRTKEY 切换到第五个标签
VK_NUMPAD5, 34022, CONTROL, VIRTKEY 切换到第五个标签
VK_6, 34023, CONTROL, VIRTKEY 切换到第六个标签
VK_NUMPAD6, 34023, CONTROL, VIRTKEY 切换到第六个标签
VK_7, 34024, CONTROL, VIRTKEY 切换到第七个标签
VK_NUMPAD7, 34024, CONTROL, VIRTKEY 切换到第七个标签
VK_8, 34025, CONTROL, VIRTKEY 切换到第八个标签
VK_NUMPAD8, 34025, CONTROL, VIRTKEY 切换到第八个标签
VK_B, 40009, CONTROL, SHIFT, VIRTKEY 显示收藏夹
VK_O, 40011, CONTROL, SHIFT, VIRTKEY 打开收藏夹
VK_J, 40012, CONTROL, VIRTKEY 打开收藏夹
VK_H, 40010, CONTROL, VIRTKEY 历史记录
VK_F, 40020, ALT, VIRTKEY 打开小扳手
VK_E, 40020, ALT, VIRTKEY 打开小扳手
VK_M, 40034, CONTROL, SHIFT, VIRTKEY 不明
VK_ESCAPE, 33006, VIRTKEY ESC
VK_ESCAPE, 40005, SHIFT, VIRTKEY 打开任务管理器
190, 42500, CONTROL, SHIFT, VIRTKEY 不明
VK_U, 35002, CONTROL, VIRTKEY 查看网页源代码
189, 38003, CONTROL, VIRTKEY 不明
189, 38003, CONTROL, SHIFT, VIRTKEY 不明
VK_SUBTRACT, 38003, CONTROL, VIRTKEY 缩小网页
VK_0, 38002, CONTROL, VIRTKEY 不明
VK_NUMPAD0, 38002, CONTROL, VIRTKEY 不明
187, 38001, CONTROL, VIRTKEY 不明
187, 38001, CONTROL, SHIFT, VIRTKEY 不明
VK_ADD, 38001, CONTROL, VIRTKEY 放大网页
192, 34018, ALT, VIRTKEY 波浪键,第一个标签
VK_1, 34016, ALT, VIRTKEY 下一标签
VK_2, 34017, ALT, VIRTKEY 上一标签
VK_3, 34026, ALT, VIRTKEY 最后一个标签
}
2016-01-13 16:20:41 0 read 2611
今天发现Chrome的菜单栏变成这般糟糕模样,很是不爽,于是重新安装,发现只要安装后启动一次并保持几秒,
重启后就会菜单栏间距就会变大,好吧,通过修改时间定位文件,最后锁定在了Local State文件上。废话到此,下面说方法:
1.将你的Chrome各项设置都设置好,并关闭Chrome,这一步很重要,因为之后要锁定文件。
2.打开user data文件夹:
a.Win7/8 C:\Users\用户名\AppData\Local\Google\Chrome\User Data
b.WinXP C:\Documents and Settings\用户名\Local Settings\Application Data\Google\Chrome\User Data
3.用记事本打开里面的Local State文件,Ctrl+F查找”variations_seed”,可以看到它下面一行引号内有一长串加密的字符串,如下图
5.保存文件,并设置属性为只读(也可以设置NTFS权限,非必要)
至此,大功告成,目前正常用中,尚未出现问题。可预测的问题是如果某些设置会改写该文件,会写入失败,但不至于崩溃,
这时只需要取消只读(或恢复权限),设置保存后再重复上述操作即可。