php
博博的博
https://mp.csdn.net/postlist
展开
-
php 转义、防转义_addslashes,htmlspecialchars,htmlentities转换或者转义php特殊字符防止xss攻击以及sql注入等等
一、转义或者转换的目的1. 转义或者转换字符串防止sql注入2. 转义或者转换字符防止html非过滤引起页面布局变化3. 转义或者转换可以阻止javascript等脚本的xss攻击,避免出现类似恶意弹窗等等形式二、函数1. addslashes($str);此函数转义预定义的字符:单引号(‘),双引号(“),反斜线(\)与NULL(NULL字符)转义出现在html中的单引号(‘)和双引号(“),经过测试效果不是很好,转义html中的特字符就使用htmlspecialchar()函转载 2021-03-23 12:22:53 · 567 阅读 · 0 评论 -
PHP函数 —— file_put_contents追加和换行
在PHP的一些应用中需要写日志或者记录一些信息,这样的话。可以使用fopen(),fwrite()以及fclose()这些进行操作。也可以简单的使用file_get_contents()和file_put_contents()file_put_contents()写文件。默认的是重新写文件,也就是会 替换原先的企业网站模板内容。追加的话使用参数FILE_APPEND.以追加形式写入内容 当设置...转载 2020-05-11 15:46:25 · 321 阅读 · 0 评论 -
图片格式转换——将别的服务器图片上传到自己服务器
1.先将图片下载到本地* url 图片地址* id 图片识别标识* D:\\images\\ 存储地址function savePic($url, $id){ $file = file_get_contents($url); $res = file_put_contents('D:\\images\\' . $id . '.jpg', $file); ...原创 2020-01-19 15:02:18 · 616 阅读 · 0 评论 -
curl里post、get传值+header代码,复制即用
/** * 获取url内容 * @param $url * @param array $param * @param array $header * @param int $is_post * @param int $timeout * @return mixed */function curlPost($url, $param = [], $header = [], $is...原创 2018-08-27 08:54:53 · 1117 阅读 · 0 评论 -
PHP实现ip、数字互相转换
function ipton($ip){ $ip_arr=explode('.',$ip);//分隔ip段 foreach ($ip_arr as $value) { $iphex=dechex($value);//将每段ip转换成16进制 if(strlen($iphex)<2)//255的16进制表示是ff,所以每段i...转载 2018-11-02 16:41:40 · 798 阅读 · 0 评论 -
PHP自带函数ip、数字互转
$ip = '42.62.28.108';$number = ip2long($ip); 将 IP 转换成整型数字;$newIp = long2ip($number); 将整型数字转换成IP;echo $number;echo $newIp;参考地址:http://php.net/manual/zh/function.ip2long.php。...原创 2018-11-12 12:25:59 · 340 阅读 · 0 评论 -
PHP代码实现限制短信发送次数,根源上杜绝盗刷
一般在你下载的短信SDK包里会有限制每个手机号每天发送短信的次数,这个是在后端代码里进行限制,防止从你这个接口出现盗刷情况。首先建表,字符集根据自己情况修改CREATE TABLE `h_sms_num` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `phone` char(11) DEFAULT NULL COMMENT '手...原创 2018-12-26 12:26:13 · 1423 阅读 · 0 评论 -
date 获取当年第几周,当前年份
获取周date('W');获取年date('Y');下篇有 周数时间跨年问题:https://blog.csdn.net/weixin_42262935/article/details/89676849参考地址:https://www.php.net/manual/zh/function.date.phpd 月份中的第几天,有前导零的 2 位数...原创 2019-04-16 11:07:17 · 3824 阅读 · 0 评论 -
date 周数时间跨年问题
注:继上篇文章之后,在处理跨年周数时间的时候出现的问题。如:今年2019年12月30日和12月31日会计算在下年的一周里,2020年的最后一周会加上2021年的1月1日、1月2日、1月3日。下面这个方法直接复用。传入当前时间,会直接返回当前周时间。function DateWeek($tm){ $w = date('w', $tm) ==0 ? 7 : date('w', ...原创 2019-04-29 16:01:24 · 2866 阅读 · 3 评论 -
php 实现Excel表格导入导出
导入:1.将Excel表格转换成csv格式的,比较方便。2.用getCsv方法将数据导出来,遍历添加代码仅供参考,getCsv方法可以直接复用$tmp_file = $_FILES ['file'] ['tmp_name'];$music_singer = $this->getCsv($tmp_file);$new_music_singer = array_v...原创 2019-07-09 12:16:29 · 414 阅读 · 0 评论 -
php 根据身份证号获得星座生肖的方法
<?php// PHP根据身份证号,自动获取对应的星座函数function get_xingzuo($cid) { // 根据身份证号,自动返回对应的星座if (!isIdCard($cid)) return '';$bir = substr($cid,10,4);$month = (int)substr($bir,0,2);$day = (int)substr($bir...转载 2019-07-22 18:04:24 · 238 阅读 · 0 评论 -
关于define与defined的区别!判断文件函数变量是否被定义
1.define用来定义一个常量,常量也是全局范围的。不用管作用域就可以在脚本的任何地方访问常量。一个常量一旦被定义,就不能再改变或者取消定义如:define("path","root/www/web")define为常root/www/web 为常量的值2.defined用来检测常量有没有被定义,若常量存在,则返回true,否则返回 false如:[html]vie...转载 2019-08-27 19:00:17 · 1021 阅读 · 1 评论 -
php 5 与7有什么区别
PHP 7.0使用新版的ZendEngine引擎,带来了许多新的特性,其与相比,有如下特性: 性能提升:PHP7比PHP5.0性能提升了两倍。 全面一致的64位支持。 以前的许多致命错误,现在改成抛出异常。 PHP 7.0比PHP5.0移除了一些老的不在支持的SAPI(服务器端应用编程端口)和扩展。 .PHP 7.0比PHP5.0新增了空接合操作符。...转载 2018-08-13 18:21:30 · 2328 阅读 · 0 评论 -
thinkphp 5怎么在config配置全局变量 、 获取config配置的值
配置自定义值:在config层随意找个地方。比如加盐字段 获取config配置的值: 注意 报错!需要引入Config类 use think\Config;原创 2018-08-13 10:47:37 · 20980 阅读 · 0 评论 -
冒泡排序写法和思路
//先定义一个数组$arr= [10,2,5,55,3,44,44,33];#冒泡排序function bubbleSort($arr){ $len=count($arr); for($i=0;$i<$len-1;$i++){ for($j=0;$j<$len-1;$j++){ if($arr[$j]>$arr[$j+1]){ ...原创 2018-05-31 15:45:03 · 749 阅读 · 0 评论 -
快速排序写法和思路
/** * 快速排序 * @param $arr * @return array */$arr自定义一个数组,先得到该数组的长度,定义一个left数组 ,right数组,注意这必须判断数组长度,如果小于1就让他直接返回,不然引用会报错,外层一个for循环是判断数组长度,用$arr【0】第一个数字跟第二个数字对比,如果大于第二个数字,把它放在left这个数组里面,如果小于放在rig...原创 2018-06-01 21:02:16 · 439 阅读 · 0 评论 -
二分查找级思路
//二分查找。定义的数组必须为有序数组,加入要找7,先得到数组最中间的那个数,$arr中间数为9,用9跟7比,如果比7大,从左边找,比7小从右边找$arr=[1,3,5,7,9,11,13,15,19];/** * 二分查找 递归 * @param $arr * @param $search为查找的值 * @return string * */function search($...原创 2018-07-04 17:22:55 · 309 阅读 · 0 评论 -
tp5新手易犯问题No input file specified.
1.渲染模板出现No input file specified.解决:在public下有个.htaccess文件将 RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]改为RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]2.出现页面错误!请稍后再试~请先在config.php将调试模式改为true;3.是因为拼路径那少...原创 2018-07-05 15:32:00 · 183 阅读 · 0 评论 -
windows下php7.0安装redis扩展包
1.链接地址:http://pecl.php.net/package/redis/4.1.0/windows 根据自己版本下载合适的扩展包2.将下载解压后的php_redis.dll放入php的ext目录下,然后修改php.ini,加入redis扩展配置:extension=php_redis.dll3.重启Apache查看phpinfo就有redis扩展信息了。...原创 2018-07-25 10:53:29 · 2327 阅读 · 0 评论 -
mysql 查询当天、本周,本月,上一个月的数据
今天select * from 表名 where to_days(时间字段名) = to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1近7天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间...转载 2018-07-15 14:54:15 · 150 阅读 · 0 评论 -
tp5使用session!致命错误: Class 'think\session' not found
1.tp5使用session很简单。首先看config配置文件默认是开启的2.在使用的时候,名 值就可以。但这块有个坑要注意必须use think\Session;session首字母还必须大写!!!...原创 2018-08-03 17:56:32 · 6749 阅读 · 0 评论 -
TP5怎么查询数据并搜索+分页!一个自带方法贼简单
在C层,limit是条数、where是条件(我没有条件,写的默认)、find是搜索条件(我没有条件给的空)!在M层 (参数就不解释了)在V层原创 2018-08-03 19:24:43 · 3810 阅读 · 0 评论 -
TP5循环输出二维数组和遍历一维数组
*tp5里遍历数组跟tp3.2有些出入,现在直接把方式展现出来 1.遍历二维数组2.模板输出一维数组原创 2018-08-01 12:15:08 · 6267 阅读 · 0 评论 -
tp5出现 致命错误: Class 'app\index\controller\KeywordModel' not found
解决办法:第一步:命名空间 use\index\model\跟控制器名 as是起个别名第二步: 根据图示创建model层。ok之后可以new试下原创 2018-08-01 14:57:18 · 20182 阅读 · 1 评论 -
session详细解析(是不是过期、失效时间)
session详细解析(是否过期、失效时间) Session一直是我们做web项目经常使用的,以前没太注意,这次又细致的看了下! 1.session其实就是一个Map,键=值对,通过session.getAttribute("name");获得session中设置的参数 2.session的过期时间是从什么时候开始计算的?是从一登录就开始计算还是说从停止活动开始计算? 答:...转载 2018-08-06 13:37:46 · 299 阅读 · 0 评论 -
tp5本类调用自己写的方法出现调用未定义函数错误——致命错误: Call to undefined function app\index\controller\getToken()
用了一段时间yii2之后换成tp5特别不习惯,还以为之前有tp3.2框架的基础,结果tp3.2和tp5完全不一样了!总结了几个新手易犯的错误在博客。解决:调用自己写的方法要加$this->...原创 2018-08-01 19:09:02 · 35596 阅读 · 6 评论 -
Default value for parameters with a class type hint can only be NULL
出现这个问题是php版本不够 将php版本切换到php7就ok了!原创 2018-08-15 12:03:18 · 5628 阅读 · 2 评论 -
桶排序写法
$arr= [10,2,5,55,3,44,44,33];#桶排序function bucketSort($arr){ //得到数组最大值 $max=max($arr); $i=0; $arr1=[]; while($i<=$max){ $arr1[$i]=0; $i++; } foreach($ar...原创 2018-05-31 15:43:40 · 219 阅读 · 0 评论