未来往事
能督促自己努力也是实力的一种哦~ [2017年 第29周/共52周]

php imagecreatefromjpeg return bool(false)

错误描述:
imagecreatefromjpeg返回bool(false)
imagecreatefromjpeg():xxx.jpg is not a valid JPEG file
imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error

PHP载入图像的函数:
imagecreatefromgif()
imagecreatefromjpeg()
imagecreatefrompng()
imagecreatefromwbmp()
imagecreatefromstring()
作用:由文件或URL或字符串中的图像流创建一个新图象,成功后返回图象资源,失败后返回FALSE。
PS:简单的理解其作用就是将要进行分割的图片临时读到内存里面。

错误注释:
错误信息翻译:图片不是一个有效的jpeg文件

......
+阅读全文

数据挖掘分析常用方法

数据挖掘的方法有很多种,按照不同的分类有不同的分类法。数据挖掘又称数据库中的知识发现,是目前人工智能和数据库领域研究的热点问题,所谓数据挖掘是指从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息的非平凡过程 利用数据挖掘进行数据分析常用的方法主要有分类、回归分析、聚类、关联规则、特征、变化和偏差分析、Web页挖掘等, 它们分别从不同的角度对数据进行挖掘。

① 分类。......
+阅读全文

The server quit without updating PID file解决

The server quit without updating PID file (/usr/local/mysql/var/xxx.pid). ... failed错误解决

错误信息详细描述:
root@MyServer:~# service mysql start
Starting MySQL
..The server quit without updating PID file (/usr/local/mysql/var/MyServer.pid). ... failed!

错误解决排查思路:
1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data”  然后重新启动mysqld!

2.可能进程里已经存在mysql进程
......
+阅读全文

php获取目录下的所有文件并按时间排序

php获取目录下的所有文件并按文件创建时间进行排序,php按文件创建/修改时间排序.
  1. function getFile($dir=''){  
  2.   $num=1;    //用来记录目录下的文件个数  
  3.   $dirname=
......
+阅读全文

ul菜单居中_水平居中css样式

ul li导航菜单居中/水平居中css样式。这个方法较简单,是将容器转成display:inline-block行内块级元素,然后就可以直接用text-align:center使其达到水平居中效果,也是推荐的方法。

示例ul导航菜单HTML代码:

  1. <div class="nav">
  2. <ul>
......
+阅读全文

php生成多级目录函数

php生成多级目录的方法函数.
  1. function mkdirs($dir){   
  2.   return is_dir($diror (mkdirs(dirname($dir)) and mkdir($dir,0777));   
  3. }  
函数说明:
(1)函数:bool is_dir ( string $filename )
功能:判断给定文件名是否是一个目录,如果文件名存在并且为目录则返回 TRUE。如果 filename 是一个相对路径,则按照当前工作目录检查其相对路径。
注: 本函数的结果会被缓存。更多信息参见 clearstatcache()。

(2)函数:dirname(path)
+阅读全文

php分卷备份恢复mysql数据库

本文主要阐述在大数据量下通过php程序分卷备份恢复mysql数据库的方法,代码已合并为一个文件,即为php页面版MySQL大数据库分卷备份恢复工具。由于时间关系,代码未做整理,结构相对混乱,如果你在该结构基础上做了整理也欢迎你反馈给我~~~

工具实现功能:
1.支持MySQL数据库按指定大小分卷备份和恢复;
2.支持单文件备份及下载
3.分卷备份存储在服务器端,可以直接上传导入

操作过程截图:
输入mysql链接配置信息
点击在新窗口中浏览此图片
当前权限链接下的数据库表信息
点击在新窗口中浏览此图片
选择导出备份方式
点击在新窗口中浏览此图片
导出备份选项
+阅读全文

搜索引擎收录带?问号的动态页面问题

最近查看站点百度收录信息发现收录了部分带有?问号的动态页面地址,经过一番学习后,最终了解到可以在robots.txt协议文件里增加过滤项:
Disallow:  /*?* #禁止访问网站中所有的动态页面

注意:
1、仅适用于全站静态化或伪静态的站点
2、此方法会导致站内某些内链(动态链接)失效,不过对站点整体收录实际上没啥影响
......
+阅读全文

php判断是否移动设备

php判断是否移动手机设备函数,php判断手机访问函数.

相对精准的判断方式:
  1. function is_Mobile_Device(){  
  2.  //获取ALL_HTTP全部的http信息  
  3.     $_SERVER['ALL_HTTP'] = isset($_SERVER['ALL_HTTP']) ? $_SERVER['ALL_HTTP'] : '';  
  4.     $mobile_browser = '0';  
  5.     if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|iphone|ipad|ipod|android|xoom)/i'strtolower($_SERVER['HTTP_USER_AGENT'])))  
  6.         $mobile_browser++;  
  7.     if((isset($_SERVER['HTTP_ACCEPT'])) and (strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml') !== false))  
  8.         $mobile_browser++;  
  9.     if(isset($_SERVER['HTTP_X_WAP_PROFILE']))  
  10.         $mobile_browser++;  
  11.     if(isset($_SERVER['HTTP_PROFILE']))  
  12.         $mobile_browser++;  
  13.   
  14.     $mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4));  
  15.     $mobile_agents = array(  
  16.         'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',  
  17.         'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',  
  18.         'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',  
  19.         'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',  
  20.         'newt','noki','oper','palm','pana','pant','phil','play','port','prox',  
  21.         'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',  
  22.         'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',  
  23.         'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',  
  24.         'wapr','webc','winw','winw','xda','xda-'  
  25.     );  
  26.   
  27.     if(in_array($mobile_ua$mobile_agents))  
  28.         $mobile_browser++;  
  29.     if(strpos(strtolower($_SERVER['ALL_HTTP']), 'operamini') !== false)  
  30.         $mobile_browser++;  
  31.     if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'windows') !== false)  
  32.         $mobile_browser=0;  
  33.     if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'windows phone') !== false)  
  34.         $mobile_browser++;  
  35.     if($mobile_browser>0)  
  36.         return true;  
  37.     else  
  38.         return false;  
  39. }  

简单通过user-agent方式判断
+阅读全文

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

欢迎[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 {
 
......
+阅读全文