php
sunsineq
这个作者很懒,什么都没留下…
展开
-
NGINX & PHP Cookie 会话中 PHPSESSID 缺少 HTTPOnly、Secure 属性解决方案
基于安全的考虑,需要给cookie加上Secure和HttpOnly属性,HttpOnly比较好理解,设置HttpOnly=true的cookie不能被js获取到,无法用document.cookie打出cookie的内容。cookie中的Secure指的是安全性。在WEB应用中,对于敏感业务,如:登录或者付款,需要使用HTTPS来保证内容的传输安全,而在用户成功获得授权之后,获得的客户端身份cookie如果没有设置为Secure,那么很有可能会被非HTTPS页面拿到,从而造成重要的身份泄露。原创 2023-06-25 23:40:54 · 2387 阅读 · 0 评论 -
php保留键随机打乱数组顺序
php保留键随机打乱数组顺序 最近遇到一个需求,把一个数组随机打乱顺序,我们可以用php的shuffle函数,但是这个函数会把数组的键清空建立新的键,那么我们若想保留键只需要利用shuffle函数再做一下处理就可以了。可以自定义一个函数。 function retain_key_shuffle(array &$arr){ if (!empty($arr)) { $key = array_keys($arr); shuffle($key); foreach (原创 2022-06-16 12:24:50 · 445 阅读 · 0 评论 -
迅睿cms免登陆新闻发布接口
采集工具:火车采集器 v7.6采集模块:新闻 News一、编写采集入库脚本接口新建:./api/caiji.php<?php/***数据采集*/define('IS_API',basename(__FILE__,'.php'));//项目标识define('SELF',pathinfo(__FILE__,PATHINFO_BASENAME));//该文件的名称require('../index.php');//引入主文件新建:./d...转载 2022-05-16 11:51:59 · 491 阅读 · 0 评论 -
php中::(双冒号)是什么意思?和PHP中的->有什么区别
php中::(双冒号)是什么意思?和PHP中的->有什么区别 PHP中的:: (双冒号)是一种内置的语法解析符号,又叫做“范围解析操作符”。 :: 通常是用来访问静态成员的,也就是说可以不用实例化对象直接使用 class Test{ public static $test = 1; public static function test(){ } } Test::$test; //获取$t...转载 2022-02-14 15:51:18 · 1199 阅读 · 0 评论 -
php+websocket 实现聊天室
一、配置开启socket组建,否则会报 Fatal error: Call to undefined function socket_create() 错误1、打开php.ini配置文件,搜索 extension=php_sockets.dll,把前面的‘;’分号删掉。修改之后重启服务。注意:如果php版本多,一定要注意使用的哪个版本就要取修改哪个版本的php.ini文件,wamp开启socket需要apache和php下面的php.ini一起修改,而phpstudy只需要修改一个php.ini...原创 2021-10-16 21:00:32 · 1771 阅读 · 1 评论 -
php文件操作函数
file_get_contents获取一个文件或一个网络资源的内容,是比较快捷的函数,内部封闭了打开/关闭操作但是小心,此函数一次性把文件内容全部读出来,放内存里.工作中,处理大文件时候.慎用此函数不支持https协议,如需复制https网页,请改用curlfile_get_contents(path,include_path,context,start,max_length)path 必需。规定要读取的文件。include_path 可选。如果也想在 include_pat...转载 2021-10-09 16:52:39 · 311 阅读 · 0 评论 -
简单好用的网站压力测试工具
简单好用的网站压力测试工具下载:https://files.cnblogs.com/files/wordblog/%E5%8E%8B%E5%8A%9B%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7.rar原创 2021-09-29 15:08:03 · 5310 阅读 · 0 评论 -
php压力测试工具篇
ab使用 Apache附带的压力测试工具ab,非常容易使用,并且完全可以摸你各种条件对Web服务器发起测试请求。ab可以直接在Web服务器本地发起测试请求,这对于需要了解服务器的处理性能至关重要,因为它不包括数据的网络传输时间以及用户PC本地的计算时间。。要执行 1000 次的 connection, 20 次的 concurrent (并行, 同时):语法: ab -n 1000 -c 20 www.baidu.com产生出来的结果. 要注意的是以下几个:§ Time taken for .转载 2021-09-29 15:05:53 · 1338 阅读 · 0 评论 -
帝国cms使用465端口发邮件 教程
越来越多的服务器禁止了25端口,但是大家又要发信件,这时候就要使用SSL加密安全连接。下面是教程众所周知云服务器为了减少垃圾啊邮件,默认封掉了smtp 25端口,允许ssl 链接 smtp 465端口或者其他端口,接下来我就给大家发一下帝国cms 7.2版本的修改教程,完成ssl的发件修改。1、修改php.ini找到extension=php_openssl.dll去掉前面的;号。保存后重启IIS 或者Apache或者NginxPS:小编使用的IIS,使用php manager安装的自带开启2转载 2021-09-03 21:19:08 · 543 阅读 · 0 评论 -
php ssl 465,帝国CMS邮件无法发送 SSL465端口无法发送的问题解决办法
帝国CMS内置的邮件功能,默认是使用25端口发送的,但现在的服务器大多都屏蔽了25端口,所以现在的邮箱很多都使用 465端口,并且使用SSL链接了。比如,QQ邮箱,腾讯企业邮箱。这就导致帝国CMS配置好了也无法发送。使用以下方法即可解决,一流素材网亲测有效第一步:确保服务器开启了465端口。第二步:修改php.ini找到extension=php_openssl.dll去掉前面的;号,如下图所示:保存后重启IIS 或者Apache或者Nginx。第三步:开通qq邮箱的转载 2021-09-03 21:17:19 · 763 阅读 · 0 评论 -
strip_tags()函数定义与语法
strip_tags()函数定义与语法strip_tags():剥去字符串中的 HTML、XML 以及 PHP 的标签。语法:strip_tags(string,allow)string:必需。规定要检查的字符串。allow:可选。规定允许的标签。这些标签不会被删除。例:PHP过滤字符串中的HTML标签PHP代码<?php$str = '你好,我是墨初<br/>飞鸟慕鱼博客的站长';echo strip_tags($str);?>原创 2021-08-15 09:50:47 · 1000 阅读 · 0 评论 -
2021-08-15
总结php删除html标签和标签内的内容的方法经常扒别人网站文章的坑们;我是指那种批量式采集的压根不看内容的;少不了都会用到删除html标签的函数;这里介绍3种不同用途上的方法;$str='<div><p>这里是p标签</p><img src="" alt="这里是img标签"><a href="">这里是a标签</a><br></div>';1:删除全部或者保留指定html标签php自带的转载 2021-08-15 09:44:39 · 59 阅读 · 0 评论 -
PHP数组内容不重复组合排列算法
/*Param:$arrs 二维数组getArrSet(array(array(),...))数组不重复排列集合*/function getArrSet($arrs,$_current_index=-1){//总数组static $_total_arr;//总数组下标计数static $_total_arr_index;//输入的数组长度static $_total_count;//临时拼凑数组static $_temp_arr;//进入输入数组的第一层,清空静态数组,并初始.转载 2021-08-12 07:07:09 · 273 阅读 · 0 评论 -
PHP数组内容不重复组合排列算法
PHP数组内容不重复组合排列算法最近在做ecshop的商品库存模块,分别给一款商品的多个属性组合设置库存,如下图:一款手机有不同颜色,屏幕尺寸,系统和电量,都要设置不同的库存,如果都要手动选择属性组合,则会耗费很多不必要的时间。假如打开页面时就已经设置好属性排列组合那就最好不过,因此想了整天,写了如下函数:/*Author:GaZeonDate:2016-6-20Function:getArrSetParam:$arrs 二维数组getArrSet(array(array..转载 2021-08-12 07:03:22 · 402 阅读 · 0 评论 -
php中textarea文本框输入内容回车换行(‘\n‘)的处理方法
因为textarea中换行用的是 “\n"或”\r\n",(linux下输入为’\r\n’,windows下为’\n’) 正常的HTML中的换行是或;情况一、若将textarea的内容直接存入数据库中,换行在数据库中也会以"\n"或"\r\n"存储这种情况的解决方法:方法一、(运用smarty模版)1. 在php服务端KaTeX parse error: Can't use function '\r' in math mode at position 20: …= str_replace("\原创 2021-07-03 20:17:10 · 2523 阅读 · 2 评论 -
PHP 匿名函数 function use 与直接传参的区别
在项目中看到这种写法,去手册看了一下实例,开始看的有些晕。以下是PHP示例代码:<?php$message = 'hello';// 没有 "use"$example = function () { var_dump($message);};echo $example();// 继承 $message$example = function () use ($message) { var_dump($message);};echo $example();...转载 2021-06-12 20:14:38 · 187 阅读 · 0 评论 -
php文件打包 文 下载之使用 下 PHP自带的 自 ZipArchive压缩文件并下 压 载打包好的文件
php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件 总结: 使用PHP下载文件的操作需要给出四个header(),可以参考我的另一篇博文:PHP如何实现下载功能超详细流程分析 计算文件的大小的时候,并不需要先打开文件,通过filesize($filename)就可以看出,如果需要先打开文件的话,filesize可能 就会是这样的形式了filesize($filehandle) 向客户端回送数据的是,记得要设置一个buffer,用来指定每次向客户端输出多少原创 2021-02-09 08:53:53 · 119 阅读 · 0 评论 -
如何提高php应用的性能
1、 如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。 2、$row[’id’]的速度是$row[id]的7倍。 3、echo 比 print快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo$str1,$str2。 4、在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。 5、注销那些不用的变量尤其是大数组,以便释放...原创 2020-12-26 13:52:22 · 93 阅读 · 0 评论 -
PHP数组序列化(serialize)反序列化(unserialize)
把数组进行序列化$arr = [ 'db_host' => 'localhost', 'db_user' => 'root', 'db_pass' => 'root', 'db_name' => 'test', ];//进行序列化 $str = serialize($arr);//存储到记事本 file_put_contents("abc.txt", $str); //也可以存储到数据库,或者给其他应用程序,返回给前台等等。。。存储到abc转载 2020-12-26 11:30:45 · 790 阅读 · 0 评论 -
php如何将json格式的字符串转换成数组输出
json格式字符串如下:{"a":"123","b":“456”}php代码如下:<?php $str = '{"a":"123","b":"456"}';//json_decode($str,false);返回object,默认情况下是false,可以省略不写$strnew=json_decode($str);//由object转成array$strlast=object_array($strnew); echo $strlast[a];echo "<br/&原创 2020-12-26 11:22:16 · 717 阅读 · 0 评论 -
JSON PHP中,Json字符串反序列化成对象/数组
<?php //php反编码解析json信息//json_decode(json字符串); $city = array('shandong'=>'jinan','henan'=>'zhengzhou','hebei'=>'shijiazhuang');$jn_city = json_encode($city); //反编码json$fan_city = json_decode($jn_city,false);//第二个参数false则返回object类型,fals.转载 2020-12-26 11:16:51 · 221 阅读 · 0 评论 -
转 PHP网站从Apache转移到Nginx后产生404错误的原因和解决办法
转 PHP网站从Apache转移到Nginx后产生404错误的原因和解决办法原文地址链接:http://www.linuxidc.com/Linux/2014-06/103103.htm原案例分析:1、原来的网站在wamp环境下搭建完成,一切正常,上传到虚拟主机环境为lnmp,结果访问时可以打开主页,然后点其他页面全部报404错误;2、经分析得出原因:原网站环境为wamp使用了伪静态,伪静态规则写在网站根目录的.htaccess文件中,Apache下默认识别此文件内容,而Nginx服务器不.转载 2020-12-12 10:27:07 · 515 阅读 · 0 评论 -
CENTOS7宝塔下NGINX配置LARAVEL项目出现WARNING: FILE_EXISTS(): OPEN_BASEDIR RESTRICTION IN EFFECT.
CENTOS7宝塔下NGINX配置LARAVEL项目出现WARNING: FILE_EXISTS(): OPEN_BASEDIR RESTRICTION IN EFFECT.当你出现这种情况的时候不要谎,解决方法很简单。1.一般宝塔部署网站在public下会生成一个user.ini防跨站的文件。2.打开你自己的这个文件复制open_basedir=以后内容。如下:open_basedir=/项目目录/:/tmp/ //注意项目目录不用指到public下3.找到php的php.ini文原创 2020-12-12 10:14:47 · 1130 阅读 · 0 评论 -
Array and string offset access syntax with curly braces is deprecated
Array and string offset access syntax with curly braces is deprecatedPHP7.4不再支持使用大括号访问数组以及字符串的偏移_PHP代码php7.4不支持数组{}写法,统一为数组[]解决办法:seq = (ord(seq=(ord(value{0}) % $rule[‘num’]) + 1;中的value{0}改为value0改为value[0]...原创 2020-12-10 14:39:49 · 949 阅读 · 0 评论 -
宝塔控制面板安装php7.4错误为“No package ‘libjpeg‘ found”的解决办法
随着php7.4的发布,据说版本越高运行速度越快,具体也没有实际测试或者应用,今天就有客户说想安装PHP7.4,气死我一直建议客户不要用最新的东西,我感觉最新的一直都会出现这样那样的问题,但客户说想用,那咱不能得罪客户不是(狗头保命),客户用的是wordpress,那就操刀吧,幸好客户有我以前给安装的宝塔,操作也就简单了,具体操作如下,每个人的系统环境不一样,也有可能错误提示不一样哦,具体情况具体分析;服务器用的是宝塔面板,在宝塔面板--软件商店里面安装php7.4版本,一路安装完成,却发现消息盒子里面原创 2020-12-07 13:24:50 · 2895 阅读 · 0 评论 -
php下将多个数组合并成一个数组的方法与实例代码
1.合并数组array_merge()函数将数组合并到一起,返回一个联合的数组。所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加。其形式为:复制代码代码如下:array array_merge (array array1 array2…,arrayN)将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的...原创 2020-12-01 11:33:47 · 686 阅读 · 0 评论 -
PHP拆分中文字符串,逐个字打印,中文提取
拆分中文字符串为数组function str_split_unicode($str, $l = 0) { if ($l > 0) { $ret = array(); $len = mb_strlen($str, "UTF-8"); for ($i = 0; $i < $len; $i += $l) { $ret[] = mb_substr($str, $i, $l, "UTF-8"); }转载 2020-11-30 17:22:28 · 716 阅读 · 0 评论 -
PHP中$_SERVER获取当前页面的完整URL地址
PHP中$_SERVER获取当前页面的完整URL地址,其实很简单,主要是通过$_SERVER超全局变量来实现的。具体PHP中$_SERVER获取当前页面的完整URL地址如下。#测试网址: http://www.zizaiyou.cn /blog/testurl.php?id=5//获取域名或主机地址echo $_SERVER['HTTP_HOST'].""; #localhost//获取网页地址echo $_SERVER['PHP_SELF'].""; #/blog/testurl....原创 2020-11-28 16:36:01 · 1014 阅读 · 0 评论 -
在php中判断一个字符串包含另一个字符串
方法一:用php的strpos() 函数判断字符串中是否包含某字符串的方法if(strpos('Longway','way') !== false){ echo '包含way';}else{ echo '不包含way';}方法二:使用了explode用explode进行判断PHP判断字符串的包含代码如下:<?php $url = "001a.gif"; $str = "a"; $con = explode($str,$url); if (count($co原创 2020-11-28 14:37:56 · 2046 阅读 · 0 评论 -
PHP 数组转字符串,与字符串转数组
PHP 数组转字符串,与字符串转数组 1 implode 使用一个字符串将数组变成字符串 1 2 3 4 5 6 7 8 9 10 11 <br><?php $array=array('lastname','email','phone'); $comma_separated= implode(",",...原创 2020-11-03 16:00:14 · 79 阅读 · 0 评论 -
PHP接收ajax传输的数据
在网上看了很久,发现数据的利用ajax提交数据到后台其实很简单,但是很多讲解的并不清楚,对于初学者来说,很多真的是看着有点糊涂,拿来直接用,又想去了解怎么回事,其实利用ajax提交数据到后台是非常的简单的。$.ajax({ type: "POST", url: "register.php", data: "name=John&location=Boston", success: function(msg){ alert( "Data Saved:转载 2020-10-13 08:47:52 · 1598 阅读 · 1 评论 -
484个PHP必备的函数集
array_change_key_case — 返回字符串键名全为小写或大写的数组array_chunk — 将一个数组分割成多个array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值array_count_values — 统计数组中所有的值出现的次数array_diff_assoc — 带索引检查计算数组的差集array_diff_key — 使用键名比较计算数组的差集array_diff_uassoc — 用用户提供的回调函数做索引检查来计算数...转载 2020-10-05 16:22:39 · 128 阅读 · 0 评论 -
【PHP】几种经典排序算法
选择排序 原理:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。function selectSort($arr) { $len = count($arr); for ($i=0;$i<$len;$i++) { $minIndex = $i; for ($j=$i+1;$j<$len;..原创 2020-08-26 18:15:10 · 101 阅读 · 0 评论 -
php header 的7种用法
header 的7种用法1. 跳转页面header('Location:'.$url); //Location和":"之间无空格。2. 声明content-typeheader('content-type:text/html;charset=utf-8');3. 返回response状态码header('HTTP/1.1 404 Not Found');4. 在某个时间后执行跳转header('Refresh: 10; url=http://www.baidu.com.原创 2020-08-19 16:44:45 · 249 阅读 · 0 评论 -
PHP数组相关处理函数
array_count_values 统计数组中所有的值出现的次数array_product 计算数组中所有值的乘积array_sum 计算数组中所有值的和count 计算数组中的单元数目或对象中的属性个数sizeof count() 的别名搜索:array_key_exists 检查给定的键名或索引是否存在于数组中array_search 在数组中搜索给定的值,如果成功则返回相应的键名in_array...原创 2020-05-23 17:28:27 · 117 阅读 · 0 评论 -
PHP数组遍历的方式
for对于纯数字索引的数组可以通过for循环来遍历数组,但是要注意的是数字索引必须是连续的,否则会获取不到数组中的部分数据。遍历不受数组内部指针影响。<?php$ar1=range('a','e');$len=count($ar1);for($i=0;$i<$len;$i++){ echo $ar1[$i]."\n";}?>上面的实例输出:a b c d<?php $ar1=array(0=>"a","2"=>"c","d转载 2020-05-20 15:53:40 · 172 阅读 · 0 评论 -
php常用的系统函数
字符串函数strlen:获取字符串长度,字节长度substr_count 某字符串出现的次数substr:字符串截取,获取字符串(按照字节进行截取)mb_strlenmb_substrstrchr:与substr相似,从指定位置截取一直到最后strrchr(获取文件后缀名):与strchr一样,只是从右边开始查找字符strtolower:所有的字符都小写(针对英文字母)strtoupper:所有的字符都大写strrev:字符串反转(只能反转英文:英文存储只有一个字节),原创 2020-05-16 16:49:17 · 166 阅读 · 0 评论 -
检查输入的用户名是否符合规定
/***检测输入中是否含有错误字符*@authorruxing.li*@paramchar$string要检查的字符串名称*@returnboolean*/functionis_badword($string){$badwords=array("\\",'&','',"'",'"','/','*',',','','>',"\r","\原创 2014-12-14 06:53:53 · 789 阅读 · 0 评论 -
php使用session的购物车类
<?phpclass Cart{ public function Cart() { if(!isset($_SESSION['cart'])){ $_SESSION['cart'] = array(); } } /* 添加商品 param int $id 商品主键 string $name 商品名称 flo...原创 2020-04-09 14:04:02 · 200 阅读 · 0 评论 -
ThinkPHP5+Redis单例型购物车
<?php/** * Redis + 单例型购物车 * param $basket 存储商品信息 * param $ins 存储实例化对象 */namespace lib;use redis\Redis;class Cart{ private $expire = 43200; //redis购物车商品缓存过期时间 private $redis ...转载 2020-04-09 11:22:57 · 319 阅读 · 0 评论