防止网站内部搜索被他人恶意利用
详见百度站长学院:https://zhanzhang.baidu.com/college/articleinfo?id=117
除了文章中说的方法,也可以把搜索页地址写入robots.txt,禁止搜索引擎收录。
Fatal error: Call-time pass-by-reference has been removed in...的处理方法
当我们这样使用函数(或者类)的话,会产生一个error:
foo(&$var);
实际上,这样用本来就是错的,只是之前的错误级别仅仅是Deprecated而已。
而正确的使用方法应该是在函数定义时:
function foo(& $var) {
//other code
}
而在调用时直接传参就行了: foo($var);
PHP:Fatal error: Class 'COM' not found in … 的处理办法
一般执行3、4两条即可
1、首先在windows的“服务”里面检查COM+服务是否已经启动。如果未启动,请启动它。
大概是该服务:Windows Management Instrumentation2、检查php目录ext文件夹下面php_com_dotnet.dll是否存在。(顺便说一下,ext通常作为php程序的扩展目录,在安装php的时候一般已经设置好。否则就应该不仅仅报主题所说的错咯。)
3、如果没问题,在php.ini里面加入以下语句:
[PHP_COM_DOTNET]
extension=php_com_dotnet.dll
4、php.ini中设置
com.allow_dcom = true
5.PHP版本
PHP 5.4.5以前的版本,只需要在php.ini中把com.allow_dcom = true打开就可以了,但是5.4.5版本以后,PHP把com/dotnet 模块集成到了一个单独的扩展中,所以需要在php.ini中加一行扩展extension=php_com_dotnet.dll,是加一行,不是打开,默认配置文件中没有这一行的,然后重启IIS或Apache,再次运行就正常了!
CodeIgniter使用rewrite时出现404的原因
.htaccess中有如下一条,本意是要把/m重写为/m.php,结果总是 404错误
RewriteRule ^m/(.*)$ m.php/$1 [L]
原因:
config/config.php
$config['uri_protocol'] = 'REQUEST_URI';
要改为
$config['uri_protocol'[ = 'PATH_INFO';
否则CI无法根据重写后的uri获取请求的class和method,从而导致出错。
当访问地址为 http://abc.com/m 没有以 / 结尾时仍不能正确重写到 m.php,需要在.htaccess中增加如下一行(加在 RewriteRule ^m/(.*)$ m.php/$1 [L] 的前面):
RewriteRule ^m$ /m/ [R=301,NC,L]
参考:http://blog.csdn.net/newjueqi/article/details/12014673
如果服务器不支持$_SERVER['PATH_INFO'],可以在服务器上输入$_SERVER数组,查看是否支持$_SERVER['ORIG_PATH_INFO'],支持的话以ORIG_PATH_INFO代替PATH_INFO,当前要观察两个值是否相同,如果不相同,需要同时修改 system/core/URI.php 中关于$uri获取的部分。我本地电脑中ORIG_PATH_INFO和PATH_INFO的值不一样。阿里云虚拟主机不支持PATH_INFO,但ORIG_PATH_INFO的值却与我本地的PATH_INFO一样。
border-radius溢出
如下CSS鼠标滑过时在360浏览器的极速模式下,会出现border-radisu溢出,图片仍是方形,直至transform动画结束。
a{ display:block; width:100px; height:100px; border-radius:50%; overflow:hidden; } a img{ width:100%; height:100%; transition:transform ease .5s; } a:hover img{ transform:scale(1.05); }
解决方法:
a{ position:relative; z-index:1; }
MySQL运算符优先级
常常发现很多基础的知识才是最重要的,是我们修复Bug的利器。
#MySQL运算符的优先级
运算符的优先级决定了不同的运算符在表达式中计算的先后顺序。
MySQL中所有运算符的优先级的顺序按照从高到低,从上到下,依次降低。一般情况下,级别高的运算符先进行计算,如果级别相同,MySQL按照表达式的顺序从左到右依次计算。
MySQL运算符的优先级如下:
优先级 运算符 (最高) ! 3 -(负号),~(按位取反) 4 ^(按位异或) 5 *,/(DIV),%(MOD) 6 +,- 7 >>,<< 8 & 9 | 10 =(比较运算),<=>,<,<=,>,>=,!=,<>,IN,IS NULL,LIKE,REGEXP 11 BETWEEN AND,CASE,WHEN,THEN,ELSE 12 NOT 13 &&,AND 14 XOR 15 ||,OR (最低) =(赋值运算),:=
我们可以看出,不同运算符的优先级是不同的。在无法确定优先级的情况下,可以使用圆括号()来改变优先级,并且这样会使计算过程更加清晰。
301转跳
ASP:
<% Response.Status = "301 Moved Permanently" Response.AddHeader "Location", new_url %>
PHP:
<?php header("HTTP/1.1 301 Moved Permanently"); header("Location: http://abc.com".$_SERVER['REQUEST_URI']); ?>
mysql UNIX时间戳与日期的相互转换
UNIX时间戳转换为日期用函数: FROM_UNIXTIME()
select FROM_UNIXTIME(1156219870);
日期转换为UNIX时间戳用函数: UNIX_TIMESTAMP()
Select UNIX_TIMESTAMP('2006-11-04 12:23:00');
例:mysql查询当天的记录数:
$sql="select * from message Where DATE_FORMAT(FROM_UNIXTIME(chattime),'%Y-%m-%d') = DATE_FORMAT(NOW(),'%Y-%m-%d') order by id desc";
KindEditor编辑器的bug
解决办法:/lang/zh-CN.js 或 kindeditor-all-min.js中把Microsoft Yahei直接替换为中文微软雅黑
2、响应式网站,后台发布新闻等内容时,通常不需要给图片设置宽度和高度,但编辑器图片插件中删除图片宽高中的一项,另一项会变为NaN,
修改kindeditor-all-min.js中的图片插件(或plugins/image/image.js中相应部分):
D.change(function(){J>0&&E.val(Math.round(K/J*parseInt(this.value,10)))}),E.change(function(){K>0&&D.val(Math.round(J/K*parseInt(this.value,10)))})
改为:
D.change(function(){this.value&&J>0&&E.val(Math.round(K/J*parseInt(this.value,10)))}),E.change(function(){this.value&&K>0&&D.val(Math.round(J/K*parseInt(this.value,10)))})
浏览器全屏
function fullscreen(){ elem=document.body; if(elem.webkitRequestFullScreen){ elem.webkitRequestFullScreen(); }else if(elem.mozRequestFullScreen){ elem.mozRequestFullScreen(); }else if(elem.requestFullScreen){ elem.requestFullscreen(); }else{ //浏览器不支持全屏API或已被禁用 } } function exitFullscreen(){ var elem=document; $("#fullscreen").show(); if(elem.webkitCancelFullScreen){ elem.webkitCancelFullScreen(); }else if(elem.mozCancelFullScreen){ elem.mozCancelFullScreen(); }else if(elem.cancelFullScreen){ elem.cancelFullScreen(); }else if(elem.exitFullscreen){ elem.exitFullscreen(); }else{ //浏览器不支持全屏API或已被禁用 } }