未来往事
心存感恩的人,才能收获更多的人生幸福和生活快乐。 [2018年 第21周/共52周]

欢迎,博客已支持自适应移动设备屏幕咯

欢迎[emot]wg[/emot],花了3个小时使博客PC端网页界面支持自适应移动设备屏幕[emot]ppbguzhang[/emot],用的时间虽不长,但这件事确是2015/1/1想做的,突然发现对自己的事情总不那么上心、执行缓慢 [emot]sk[/emot]

PS:,目前只是满足移动设备基本可用,当然也不对它的品质太过于苛求,毕竟我需要花费更多的时间和精力到我的工作中去,只有那样我才能很好的生活下去。[emot]smoke[/emot]

最后更新:2016/08/13
对android手机浏览器做了针对性的微调兼容
+阅读全文

curl file_get_contents post方式获取数据

curl post,file_get_contents post,curl file_get_contents post请求数据

在PHP中cURL、file_get_contents函数均可以获取远程链接的数据,但是file_get_contents的可控制性不太好,对于各种复杂情况的数据采集情景,file_get_contents显得有点无能为力,cURL在数据采集情景复杂的环境下略显优势。cURL函数的curl_setopt里面还有很多参数,读者可以抽空整体看一遍,虽然平时未必用得上,但是至少做到心里有底,知道都有哪些参数,必要时还能找出来使用。本文仅粗略介绍了file_get_contents函数和cURL函数的基本使用:

curl post方式获取数据
  1. //调用示例  
  2. $post_data = array ("category" => "9");  
  3. echo postCurl('http://fity.cn/category.php',$post_data);  
  4.   
  5. //CURL函数--POST方式请求资源  
  6. function postCurl($api_url$post_data){  
  7.     $ch = curl_init(); // 初始化CURL句柄  
  8.     curl_setopt($ch, CURLOPT_URL, $api_url); // 设置访问的url地址  
  9.     curl_setopt($ch, CURLOPT_TIMEOUT, 35); // 设置超时  
  10.     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15); // 等待的时间,如果设置为0,则不等待  
  11.     curl_setopt($ch, CURLOPT_HEADER, false); // 设定是否输出页面内容  
  12.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 设定是否显示头信息  
  13.     curl_setopt($ch, CURLOPT_POST, true);  // post数据  
  14.     curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);// post的变量  
  15.     curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"); // 模拟浏览器头信息  
  16.     curl_setopt($ch, CURLOPT_REFERER, "http://www.x.com"); // 伪造来源地址  
  17.     $data = curl_exec($ch);  
  18.     curl_close($ch);  
  19.   if ($data) {  
  20.     return $data;  
  21.   } else {  
  22.     return false;  
  23.   }  
  24. }  

file_get_contents post方式获取数据
+阅读全文

js判断是否是手机或移动设备访问

js判断是否是手机访问,js判断是否移动设备,使用navigator.userAgent.toLowerCase()判断移动端类型,js简单判断设备
  1. var ua  = navigator.userAgent.toLowerCase();  
  2. if(ua.indexOf('android') != -1 || ua.indexOf('iphone') != -1 || ua.indexOf('ipad'
......
+阅读全文

php获取自然周_php获取自然周开始结束日期

php获取当前自然周,php获取当前为第几周,php获取自然周开始结束日期时间,php date()函数

示例:
echo getTotalWeek(); //输出当前年份全年共有多少自然周
echo getWeekNum(); //输出当前为本年的第几周
echo getWeekNum('2016-7-31');  //输出2016年7月31日为本年的第几周
print_r(getWeekDate(2016,32)); //输出2016年第32周的起止日期

PHP根据年份获取全年共多少自然周、PHP获取一年共有多少自然周(考虑闰年)
  1. /** 
  2. * 获得当前年有多少个自然周 
  3. * @param year 年份,不传参默认为当前年份,格式2016 
  4. * @author 未来往事<http://fity.cn> 
  5. * @return 总共的周数 
  6. * @return string 
  7. */  
  8. function getTotalWeek($year = '') {  
  9.   $year = ($year) ? $year : date('Y');  
  10.   $week = 0;  
  11.   $days = 365;  
  12.   //if ($year % 400 == 0 || ($year % 4 == 0 && $year % 100 != 0)){//判断是否闰年,闰年366天。最后修改2016.8.4 By未来往事<http://fity.cn>  
  13.   if (date('L') == 1){//判断是否闰年,闰年366天  
  14.     $days = 366;  
  15.   }  
  16.   //得到一年所有天数然后除以7  
  17.   $week = $days / 7;//得到多少周  
  18.   return floor($week);  
  19. }  
  20. 欢迎来访未来往事博客http://fity.cn  

PHP根据日期时间获取为当前的第几周、PHP获取当前是一年的第几周
  1.   /**  
  2.      * 获取某一年或当前日期自然周 
  3.      * @param int $date 日期时间,不传参默认为当前时间,格式2016-8-3 
  4.      * @author 未来往事<http://fity.cn> 
  5.      * @return string 
  6.      */   
  7.   function getWeekNum($date = ''){  
  8.     $datearr = ($date) ? getdate(strtotime($date)) : getdate();  
  9.     $year = strtotime($datearr['year'].'-1-1');  
  10.     $startdate = getdate($year);  
  11.     $firstweekday = 7-$startdate['wday'];//获得第一周几天  
  12.     //今年的第几天  
  13.     //$yday = $datearr['yday']+1-$firstweekday;//以周日开始计算  
  14.     $yday = $datearr['yday']-$firstweekday;//以周一开始计算  
  15.     return ceil($yday/7)+1;//取到第几周  
  16.   }  
  17. //欢迎来访未来往事博客http://fity.cn  

PHP根据日期时间及第几周获取开始日期和结束日期、PHP获取自然周的开始日期和结束日期
+阅读全文

mongodb与mysql优缺点比较

mongodb与mysql优缺点比较,与关系型数据库相比,MongoDB的优点:
①弱一致性(最终一致),更能保证用户的访问速度:
举例来说,在 传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精确值。这在某些情况下,例如通过ATM查看账户信息的 时候很重要,但对于Wordnik来说,数据是不断更新和增长的,这种“精确”的保证几乎没有任何意义,反而会产生很大的延迟。他们需要的是一个“大约” 的数字以及更快的处理速度。
但某些情况下MongoDB会锁住数据库。如果此时正有数百个请求,则它们会堆积起来,造成许多问题。我们使用 了下面的优化方式来避免锁定:每次更新前,我们会先查询记录。查询操作会将对象放入内存,于是更新则会尽可能的迅速。在主/从部署方案中,从节点可以使用 “-pretouch”参数运行,这也可以得到相同的效果。使用多个mongod进程。我们根据访问模式将数据库拆分成多个进程。

②文档结构的存储方式,能够更便捷的获取数据。
对于一个层级式的数据结构来说,如果要将这样的数据使用扁平式的,表状的结构来保存数据,这无论是在查询还是获取数据时都十分困难。

③内置GridFS,支持大容量的存储。
GridFS是一个出色的分布式文件系统,可以支持海量的数据存储。内置了GridFS了MongoDB,能够满足对大数据集的快速范围查询。

④内置Sharding。
+阅读全文

Nginx配置文件参数详细说明

Nginx配置文件参考配置指南,Nginx配置文件参数说明
    #运行用户
    user www-data;  
    #启动进程,通常设置成和cpu的数量相等
    worker_processes  1;

    #全局错误日志及PID文件
    error_log  /var/log/nginx/error.log;
    pid        /var/run/nginx.pid;

    #工作模式及连接数上限
    events {
 
......
+阅读全文

composer安装配置

安装配置PHP环境(系统环境变量设置等-windows)

注意这点很重要。可以使用命令php -v查看PHP是否正确安装。

下载 Composer

打开命令行并依次执行下列命令安装最新版本的 Composer:

  1. php -
......
+阅读全文

jquery图片加链接

jquery设置图片超链接:
  1. <script type="text/javascript">    
  2.         $(document).ready(function() {    
  3.     
  4.            
......
+阅读全文

js/jQuery监听网页回车事件 form表单提交

使用js/jQuery监听回车事件, 在特殊情况下我们可能需要通过js监听网页回车事件进行提交form表单参数达到特定目标,本文主要介绍js或jQuery监听网页回车事件或元素容器内回车事件.

jQuery监听网页回车:
  1. $(document).keyup(function(e){  
  2.     var curKey = e.which;   
  3.     if(curKey==13){  
  4.         //具体操作处理方法  
  5.     }  
  6.  });  

js监听网页回车:
+阅读全文

mysql replace

mysql replace,mysql replace替换,mysql替换,mysql substring,mysql locate

语法格式:

UPDATE 表名
SET 字段名 = REPLACE (
替换前的字段值,
‘替换前关键字’,
‘替换后关键字’
)
WHERE
字段名 REGEXP “替换前的字段值”;

示例Demo:
(1)替换b-blog表主键id为9的content字段内容www.fity.cn为fity.cn:

  1. UPDATE b_blog
  2. SET content








......
+阅读全文

thinkphp session会话时间周期

thinkphp session设置时间无效,thinkphp session周期设置无效问题,thinkphp session时间周期设置

thinkphp session使用:
  1. session('fity.cn','FityTest');  //赋值key名称为fity.cn的session值为FityTest  
  2.   
  3. $fity = session(
......
+阅读全文

discuz memcache+ssrf GETSHELL漏洞解决方案

discuz memcache+ssrf GETSHELL漏洞解决方法,进入论坛后台性能优化模块查看是否支持memcache,如果支持再查看是否开启,如果不支持的论坛,可以选择忽略本文。

漏洞信息:
漏动来源:阿里云云盾
漏动名称:Discuz memcache+ssrf GETSHELL漏洞
漏动描述:Discuz存在SSRF漏洞,在配置了memcache的情况下,攻击者可以利用ssrf通过memcache中转,向磁盘上写入WEBSHELL恶意代码,从而造成数据库泄漏;

解决方法:
打开/source/function/function_core.php
搜索
  1. $content = preg_replace($_G[
......
+阅读全文

每一个人都应该照看好自己的猴子

猴子管理法则来源:每一个人都应该照看自己的“猴子”,不要麻烦别人照看自己的“猴子”。

猴子管理法则来源:
背上的猴子——由威廉姆翁肯 (William Oncken)所发明的一个有趣的理论。他所谓的“猴子”,是指“下一个动作”,意指管理者和下属在处理问题时所持有的态度。其与Donald L. Wass在1999年共同创作并发行了介绍该理论的书籍《Management Time: Who's Got the Monkey?》。

很多管理者往往遇到这样的情况,每天走进办公大门后,总有员工跑到自己面前说:“我昨天的工作遇到了一些问题,请问该怎么解决?”这个时候,很多管理者 会发现,当你听完下属员工的工作汇报后发现这件事情并没有得到彻底解决,而你原本计划好今天要做的工作也因此耽误了不少时间。

责任是一只猴子

这其中的关键在于,本来该下属员工自行完成的工作,因为逃避责任的缘故,交由上司处理。每个下属都有自己的猴子,如果都交由上司管理,显然,管理者自己的时间将变得很不够用。

威廉姆翁肯提出的猴子管理法则,目的在于帮助经理人确定由适当人选在适当的时间,用正确的方法做正确的事。当然,这个法则只能运用在有生存价值的猴子身上,不该存活的猴子,就狠心把他杀了吧!
猴子管理法则的简介

猴子管理法则的目的在于帮助经理人确定由适当人选在适当的时间,用正确的方法做正确的事。身为经理人要能够让员工去抚养自己的“猴子”,你也有足够的时间去做规划、协调、创新等重要工作。

“猴子”=问题

你是问题处理高手吗?假如你的下属崇拜你,你或许会相当高兴。但那以后,他几乎每件事都向你请示,你会觉得如何呢?你是否会感觉自己的时间不够用了,并因此开始检查自己的管理是不是出了什么问题呢?

有一天,你的一位下属在办公室的走廊与你不期而遇,下属停下脚步问:“老板,有一个问题,我一直想向你请示该怎么办。”此时,下属的身上有一只需要照顾的 “猴子”,接下来他如此这般将问题汇报了一番。尽管你有要事在身,但还是不太好意思让急切地想把事情办好的下属失望。你非常认真地听着……慢慢地,“猴子”的一只脚已悄悄搭在你的肩膀上。

你一直在认真倾听,并不时点头,几分钟后,你对他说这是一个非常不错的问题,很想先听听他的意见,并问:“你觉得该怎么办?”

“老板,我就是因为想不出办法,才不得不向你求援的呀。”

“不会吧,你一定能找到更好的方法。”你看了看手表,“这样吧,我现在正好有急事,明天下午四点后我有空,到时你拿几个解决方案来我们一起讨论。”

告别前,你没有忘记补充一句:“你不是刚刚受过‘头脑风暴’训练吗?实在想不出,找几个搭档来一次‘头脑风暴’,明天我等你们的答案。”

“猴子”悄悄收回了搭在你身上的那只脚,继续留在此下属的肩膀上。

第二天,下属如约前来。从脸上表情看得出,他似乎胸有成竹:“老板,按照你的指点,我们已有了5个觉得还可以的方案,只是不知道哪一个更好,现在就是请 你拍板了。”即使你一眼就已看出哪一个更好,也不要急着帮他作出决定。不然,他以后对你会有依赖,或者万一事情没办好,他一定会说:“老板,这不能怪我, 我都是按照你的意见去办的。”

关于作决定,记住以下准则:
+阅读全文

PHP网站安全性浅谈

PHP网站安全性浅谈

一、web应用服务安全性设置

1、服务器各应用服务尽可能以独立用户运行,如:
 WEB服务运行帐户为www
 MySQL服务运行帐户为mysql
 Memcached用户为memcache
 Redis运行帐户为redis

2、应用服务目录的读写权限最小颗粒化
(a)缓存目录:
一般需要755/777权限,但是多数情况下缓存目录无须提供给用户访问,可以通过nginx拒绝。如:
location ~ "^/cache" {
  return 403;
}
(b)附件目录:
一般也需要755/777等写入权限,建议附件和程序分离,附件不做PHP配置解析(这点能做到最好)。
如果上面做不到,那么建议你尽可能不去解析附件目录的PHP。如:
location ~* ^/upload/.*.(php|php5)($|/){
    deny all;
}

location ~* .*\.php($|/){
      if ($request_filename ~* (.*)\.php) {
            set $php_url $1;
      }
      if (!-e $php_url.php) {
            return 403;
      }

      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      include fcgi.conf;
}
PS:
+阅读全文

js拉幕广告代码

js拉幕广告代码,拉幕广告js代码,网页拉幕广告
  1. <html>
  2. <head>
  3. <meta http-equiv="Cont
......
+阅读全文