解决微信订阅号二维码在IE8下无法正常打开问题

2016-10-26 17:45:00

在做微信订阅号,微信生成的二维码无法在IE8浏览器打开,微信提示“浏览器内核版本过低,微软已经不再提供技术支持”想到2种方法:一:访问a,a里面是b的二维码链接,然后在b里面做跳转function a(){ QRcode($burl); } function b(){ header("Location:".$wximgurl); }经测试失败,用微信扫描访问得到的结果页面是微信给的二维码,并没有跳转。二:换一种方式打开图片,先用file_get_contents读取微信给的二维码图片流,然后再输出header("Content-type:image/png"); echo file_get_contents($imgurl);经测试,此方法在IE8下可以正常获取和扫描二维码

阅读全文

mysql实用时间日期函数

2016-10-26 16:37:00

时间戳字段名: timestamp_name (如:1470651537)时间日期字段名: datetime_name (如:2016-08-08 18:18:57) 今天select * from 表名 where to_days(datetime_name)=to_days(now()); 昨天SELECT * FROM `表名` where TO_DAYS(NOW()) – TO_DAYS(datetime_name) = 1;/*DATEDIFF(now() , FROM_UNIXTIME(`timestamp_name`)) = 1; //时间字段 存储类型为时间戳*/ 7天SELECT * FROM `表名` where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(datetime_name);/*DATEDIFF(now() , FROM_UNIXTIME(`timestamp_name`)) = 7; //时间字段 存储类型为时间戳*/ 近30天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <...

阅读全文

解决sublime text3打开中文文件名乱码

2016-10-19 21:46:00

在sublime text 3中,Preference/ Settings-User,最后加上一行 "dpi_scale": 1.0覆盖操作系统设置的DPI  如我的配置:{ "color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme", "font_size": 14.0, "ignored_packages": [ "Vintage" ], "update_check": false, "word_wrap": "auto", "dpi_scale": 1.0 } 当Windows 个性化 显示 中的设置自定义文本大小(DPI),大于默认的100%的时候,就会出现这个bug。

阅读全文

浏览器清除DNS缓存

2016-08-12 11:49:00

cookie缓存,各浏览器在清除历史记录里面都有,就不做详述了下面针对各常用浏览器清除dns缓存的方法:1.chrome打开chrome,地址栏访问chrome://net-internals/#dns,点击“Clear host cache”按钮即可清除chrome dns缓存2.firefox默认缓存时间60秒,不过可以修改,地址栏访问about:config,搜索dns,找到“network.dnsCacheExpirationGracePeriod”,将其值改为0(即不缓存)3.IE将以下信息写入注册表:[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings] "DnsCacheEnabled"=dword:00000000 "DnsCacheTimeout"=dword:00000000 "ServerInfoTimeOut"=dword:00000000windows下清除dns缓存:在cmd下查看缓存:ipconfig /d...

阅读全文

Jcrop裁剪图片位置不对

2016-08-11 16:10:00

在用Jcrop做图片裁剪的时候发现,裁剪后的图片并不是选框选中的也就是说后台获取到的坐标并不是你想要的。在网上搜了一通,也没有解决方案,后来仔细一想,原来在页面布局的时候,将图片设置了最大高宽:max-width和max-height,所以显示的图片并不是图片的实际尺寸,而是浏览器按等比例缩放后的尺寸将坐标xy和jcrop获取到的宽高都乘以这个缩放比例即可list($src_w, $src_h, $type) = getimagesize($_POST['src']); $scaling = $src_w/$_POST['realw']; imagecopyresampled($dst_r,$img_r,0,0,$_POST['x']*$scaling,$_POST['y']*$scaling, $targ_w,$targ_h,$_POST['w']*$scaling,$_POST['h']*$scaling);

阅读全文

PHP图片批量添加水印

2016-08-08 19:57:00

该方法可以同时添加多个文字水印和图片水印。主要原理是:用户上传头像,提交信息,从后台拿到模板图片地址,在根据模板要填的空计算好坐标,写到对应的位置,然后保存到本地临时目录,再上传至FTP或者七牛云等图床。/** * 图片添加水印(包括文字水印和图片水印) * @param string $img 来源图片 * @param string $filename 文件名 * @param array $waterWordConfig 文字水印配置 * @param array $waterImgConfig 图片水印配置 * @return string 临时存放图片地址 * * $waterconfig = array( * '0' => array( * 'text' => '张三丰', //水印文字 *...

阅读全文

php日期转大写

2016-07-28 14:56:00

本来是想列出“零”到“九”的数组,然后根据个位和十位来判断的,写出来发现代码太长,且效率不高,于是列出1个月的汉字的数组/** * 日期转大写 * @param int $date 时间戳 * @param string $format 时间格式 * @return array array('二零一五','十','二十八') */ function datetoCapital($date,$format="Y-n-j"){ //"Y-n-j"为月和日前面不带0 $date_format_str = date($format,$date); list($year,$month,$day) = explode('-', $date_format_str); $capital = array('零','一','二','三','四','五','六','七','八','九','十','十一','十二','十三','十四','十五','十六','十七','十八','十九','二十','二十一'...

阅读全文

PHP5.4.0以下模拟getimagesizefromstring

2016-07-18 18:26:00

PHP5.4.0以下模拟getimagesizefromstring() 最近在访问一个地址加密的图片时,发现可以用浏览器正常打开,却无法获通过getimagesize()获取图片信息而用file_get_contents也可以读到其文件流信息。想着用getimagesizefromstring试试,无奈发现(PHP 5 >= 5.4.0, PHP 7),环境不支持。  然后查阅资料其实PHP5.4以下的版本一样可以模拟出getimagesizefromstring:$file_path = 'https://www.baidu.com/img/bd_logo1.png'; $stream = file_get_contents($file_path); var_dump(getimagesize("data://text/plain;base64," . base64_encode($stream)));

阅读全文

mysql 全文索引

2016-06-29 18:29:24

MySQL全文检索是利用查询关键字和查询列内容之间的相关度进行检索,可以利用全文索引来提高匹配的速度。如:SELECT * FROM tab_name WHERE MATCH ('列名1,列名2...列名n') AGAINST('词1 词2 词3 ... 词m');MATCH 相当于要匹配的列,而 AGAINST 就是要找的内容。 table需要是MyISAM类型的表,col1、col2 必须是char、varchar或text类型,在查询之前需要在 col1 和 col2 上分别建立全文索引(FULLTEXT索引)。 mysql官方原文:MATCH (col1,col2,...) AGAINST (expr [IN BOOLEAN MODE | WITH QUERY EXPANSION])MySQL支持全文索引和搜索功能。MySQL中的全文索引类型FULLTEXT的索引。  FULLTEXT 索引仅可用于 MyISAM 表;他们可以从CHAR、 VARCHAR...

阅读全文

php 导出到excel

2016-05-26 18:13:00

有2种方法, 第一种是插件:PHPExcel插件,好用简单,功能强大,关于PHPExcel插件插件的使用方法有很多就不在这里阐述了; 第二种是:直接用header导出html,excel里的样式和格式需在css里写好 这里需注意2个问题:1.中文乱码:需在header里注明正确的编码格式,一般为utf-82.格式定义:如果不做格式定义,会出现身份证、订单等数字长度过长时自动转换为科学计数法的问题excel从web页面上导出的原理:当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取 它,所以把mime类型设为:application/vnd.ms-excel,当excel读取文件时会以每个cell的格式呈现数据,如果cell没有规定的格式,则excel会以默认...

阅读全文

redis安装到windows

2016-05-16 10:14:00

windows下安装redis先phpinfo看下自己php和电脑相关环境版本:PHP Version 5.6.15System        Windows NT DEV-3 6.1 build 7601 (Windows 7 Ultimate Edition Service Pack 1) i586Compiler     MSVC11 (Visual C++ 2012)Architecture     x86虽然我用的是x64系统,但是环境用的是x86的,所以下载redis扩展应对应下载 5.6 Thread Safe (TS) x86non-thread-safe 非线程安全 与IIS搭配环境thread-safe  线程安全 与apache搭配环境下载地址:php_redis扩展下载https://pecl.php.net/package/redis/2.2.7/windowsredis安装包下载https://github.com/dmajkic/redi...

阅读全文

mysql 逗号分隔查询

2016-05-13 10:36:00

FIND_IN_SET(str,strlist) str为要查询的字符串;strlist需是以逗号分隔的字符串;第一个参数不可以有(','); 查询有结果则返回记录行,没有则为空例:SELECT * from test where FIND_IN_SET('3',strlist);strlist为要查询的字段,'3'为要查询的数据比如strlist的数据有(2,3,4),(5,13,23),(7,36,33),(3)则查到的数据为第一条和最后一条 它不同于 like 模糊查询,它是以“,”来分隔值like是广泛的模糊匹配,字符串中没有分隔符,Find_IN_SET 是精确匹配,字段值以英文”,”分隔,Find_IN_SET查询的结果要小于或等于like查询的结果。 FIND_IN_SET还可以用来替代in的功能,如:SELECT * from test where FIND_IN_SET(id,'2,5,3,9'); /*...

阅读全文

禁用phpinfo()的几种方法

2016-05-12 18:33:00

如何禁用phpinfo()1>只需在php.ini里,找到“disable_functions = ; ”,在等号后写上phpinfo即可disable_functions = phpinfo; 2>但是,不是每个人都可以接触php.ini这个文件的,特别是虚拟主机用户,怎么屏蔽呢?于是有人想到了php的修改配置的函数,ini_set('disable_functions','phpinfo'); 测试过,ini_set无法配置该项,只能另想办法 可以利用正则匹配到所有输入的内容,或者是扫描文件有phpinfo的则给替换掉提示信息:“phpinfo已被禁用!”代码:$data = preg_replace('/phpinfo\((.*)\)/', "echo 'phpinfo已被禁用!'", $data);

阅读全文

关于ajax部分方法与IE8冲突的问题

2016-05-06 18:04:00

今天在一个项目中用到ajax的post提交数据时,发现firefox和google以及IE11都是正常的, 唯独IE8异常,左下角报错警告:“网页上有错误”。刚开始以为IE8与ajax存在兼容性问题,网上查发现的确有人碰见类似的错误,但是根据错误种类,我排除了兼容性的问题 于是,只好采用排除法来检查了,发现有2处有问题:$.post( posturl,{orderstr}, function(data){ var obj = JSON.parse(data); $('#notice').text(obj.msg); });第一处:posturl,{orderstr},此处应该为:posturl,{orderstr:orderstr},firefox和google在参数没有名字时,默认会把参数值当做参数名,而IE8不会; 第二处:var obj = JSO...

阅读全文

伪静态设置及注意事项 403/404错误调试

2016-04-21 09:18:00

在做伪静态设置的时候,发现不是报403错误,就是404,百度一下可以总结为两大问题源:一服务器配置问题(常见403错误),二.htaccess伪静态规则没写对。伪静态设置及注意事项 403/404错误调试方法 比如,403错误解决问题修改apache配置:1.启用rewrite_module;2.目录权限设置<Directory "F:/www"> Options Indexes FollowSymLinks AllowOverride all </Directory> 有设置多域名的VirtualHost 也要设置:Options Indexes FollowSymLinks3.还有就是检查.htaccess规则 伪静态注意事项:.htaccess需放到网站根目录;注意权限设置,例如:# 禁止PHP文件运行<FilesMatch (.*)\.php$> order allow,deny deny from...

阅读全文