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...

阅读全文

mysql重复字段查询

2016-03-30 10:19:00

mysql重复字段查询:按重复字段name查询,筛选数据为idSELECT id, name, score, GROUP_CONCAT(id order by id ASC separator ',') AS someid FROM testtb WHERE 1 GROUP BY name;按重复字段score查询,筛选数据为idSELECT id, name, score, GROUP_CONCAT(id) AS someid FROM testtb WHERE 1 GROUP BY score;GROUP_CONCAT与GROUP BY一起用,group by后面的字段为要查询的重复字段,GROUP_CONCAT里面的字段为重复记录里面其他字段值的集合, separator是符号分隔符,如果没有,默认为逗号(,)

阅读全文

php 整数反转不同方法实现

2016-03-29 17:09:00

<?php //数组分割,array_reverse为将数组倒叙 function func1($aa){ return implode('', array_reverse(str_split($aa))); } //递归实现,取余和取整 function func2($aa,$bb=''){ if($aa>=10){ $bb.=$aa%10; $aa=intval($aa/10); func2($aa,$bb); }else{ $bb.=$aa; echo $bb; } } //循环取余和取整 function func3($aa){ $n = strlen($aa); $bb = ''; for ($i=0; $i <$n ; $i++) { $bb .= $aa%10; $aa = intval($aa/10); } return $bb; } //循环取余和取整 function func4($n){ $m = 0; while ($n > 0) { $m .=...

阅读全文

ajax无刷新修改文本框内容

2016-03-21 11:50:00

ajax无刷新修改文本框内容,获得焦点修改,失去焦点保存上传<script> function changesort(id){ var sortid = $('#id_'+id).val(); $.post( '/index.php?c=ajax_update_sort', {sid:sid,ssort:sortid}, function(data){ //alert(data); }); } </script>文章排序:<input type="text" id="id_<?php echo $id; ?>" onblur="changesort(<?php echo $id; ?>)" value="<?php echo $sort; ?>">onblur是鼠标失去焦点触发changesort方法,然后post提交数据修改  当然要实现双击变成文本类型,然后修改,添加一个click事件,把div变成input文本框就可以,失去焦点...

阅读全文

html5+jquery选择产品属性框

2016-03-17 17:39:00

html5+jquery选择产品属性框,原理:实际上是在label下隐藏了一组randio单选按钮<script> $(function(){ $('.sel-type :first-child').css({'background-color':'#FF9900','color':'#fff'}); $('.sel-type :radio:first').attr('checked','checked'); $('.sel-type :input').hide(); $('.sel-type a').click(function(){ $('.sel-type a').css({'background-color':'#fff','color':'#333'}); $(this).css({'background-color':'#FF9900','color':'#fff'}); }); }); </script> <style> .sel-type a{margin: 10px;padding: 5px;height: 25px;width: 115px;border:1px solid gray; color: #3...

阅读全文

php 修改数组键名

2016-03-16 18:38:00

方法一:先增加,在删除:$v['newname']=$v['oldname']; unset($v['oldname']);方法二:删除所有键名,键名会从0开始计数array_values($arr);方法三:拆分,修改,再组合$key=array_keys($arr); $key[5]='newname'; $val=array_values($arr); $newarr=array_combine($keys, $val);

阅读全文

微信支付常见问题一:CURLOP_TIMEOUT和curl_close()报错

2016-02-26 10:45:00

刚下载的PHP版的"微信帐号支付DEMO"配置好“WxPay.pub.config.php”里的所有参数,调试时却发现报一大堆错误:Notice: Use of undefined constant CURLOP_TIMEOUT - assumed 'CURLOP_TIMEOUT' in /www/web/other/freyun/public_html/pay/cs/WxPayPubHelper/WxPayPubHelper.php on line 821 Warning: curl_setopt() expects parameter 2 to be long, string given in /www/web/other/freyun/public_html/pay/cs/WxPayPubHelper/WxPayPubHelper.php on line 821 Notice: Use of undefined constant CURLOP_TIMEOUT - assumed 'CURLOP_TIMEOUT' in /www/web/other/freyun/public_html/pay/cs/WxPayPubHelper/WxPayPubHelper.php on line 155 W...

阅读全文