![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
php
php框架、php功能经验
镇杰。
这个作者很懒,什么都没留下…
展开
-
PHPStorm自动换行设置
PHPStorm自动换行设置原创 2022-07-13 11:18:55 · 4880 阅读 · 0 评论 -
PHP中$a && $b = $c 语法的用法
$a && $b = $c 表示:如果$a为真,则执行$b = $c,否则不执行。可以用if语句替代:实例: $a && $b = $c 表示:如果$a为真,则执行$b = $c,否则不执行。可以用if语句替代:实例:原创 2022-06-13 16:17:28 · 384 阅读 · 1 评论 -
ab压力测试
Apache自带的ab压力测试工具用法详解下载地址:https://www.apachehaus.com/cgi-bin/download.plxab的原理ab是apachebench命令的缩写。ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。ab命令对发出负载的计算机要求很低,它既不会占用很原创 2022-05-06 18:27:59 · 1075 阅读 · 0 评论 -
php多维数组排序
array_column() 和 array_multisort() 搭配使用<?php$data = array( array( 'id' => 5698, 'first_name' => 'Bill', 'add_time' => 1234, ), array( 'id' => 4767, 'first_name' => 'Steve', 'add_time' => 1233, ), arr原创 2022-02-14 15:04:09 · 749 阅读 · 0 评论 -
php根据代码反推场景,巧用debug_backtrace()
1.先写一个统计方法调用路径的方法/** * @desc: 统计方法调用路径 * @date: 2021-11-9 */ public function statisticsAllFunctionPath() { //连接redis $redis = ZFactory::getRedis('***Redis'); $redis_key = "FunctionPath"; //记录场景路原创 2021-11-15 15:11:32 · 365 阅读 · 0 评论 -
php底层原理
https://www.cnblogs.com/wanglijun/p/8830932.html转载 2021-02-28 23:12:58 · 62 阅读 · 0 评论 -
php解析缓存opcache
为什么开启opcache会提高性能。性能提升原理:减少文件解析的时间。我们都知道,程序要运行,得有一个编译或者解析的过程,编译或解析之后的代码才是机器可以运行的。而 php 是一种解析性语言,在使用php来处理http请求的时候,每一个请求到来的时候,都需要把所有用到的文件解析一遍。而用了 opcache 的话,解析一次就可以多次使用,而不需要每次都从硬盘读取文件,然后再解析,所以会有大幅的性能提升。先阐述三个概念:1.PHP-CGI是PHP语言与服务器交互的CGI程序。CGI本身只原创 2021-02-28 22:42:58 · 437 阅读 · 0 评论 -
php 4大排序算法及二分法查找
php排序算法及二分法查找插入排序思想:将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。要点:设立哨兵,作为临时存储和判断数组边界之用。function insertSort($arr){ $count=count($arr); for($i=1;$i<$count;$i++){ $j=$i-1;...原创 2021-02-25 10:53:26 · 384 阅读 · 0 评论 -
php抓取公众号信息
class GzhController extends BaseController{ //微信内容div正则 private $wxContentDiv = '/<div class="rich_media_content " id="js_content" style="visibility: hidden;">(.*?)<\/div>/s'; //微信图片样式 private $imageStyle = 'style="max-width:.原创 2021-02-20 13:56:09 · 576 阅读 · 0 评论 -
PHP如何不用第三个变量交换两个值
第一种方法:首先会想到的,总数加减法第二种方法呢,稍加思考我们就会用到PHP中的函数来实现, list() 用数组中的元素为一组变量赋值第三种方法呢,我们来采用PHP中提供各种字符串分割函数来实现, explode()字符串分割法...原创 2021-01-27 16:18:35 · 203 阅读 · 0 评论 -
PHP解决多进程同时读写一个文件的问题
这个问题怎么说呢,首先PHP是不支持多线程的,所以我想你应该说的是多进程吧,如果是对于文件操作,其实你只需要给文件加锁就能解决,不需要其它操作,PHP的flock已经帮你搞定了。/***flock(file,lock,block)*file 必需,规定要锁定或释放的已打开的文件*lock 必需。规定要使用哪种锁定类型。*block 可选。若设置为 1 或 true,则当进行锁定时阻挡其他进程。*lock*LOCK_SH 要取得共享锁定(读取的程序)*LOCK_EX 要取得独占锁定(写入的原创 2021-01-27 16:08:28 · 361 阅读 · 2 评论 -
php页面静态化技术
很多框架的模板引擎都有页面静态化的功能 目的是为了优化网站运行时间静态化分两种 纯静态和伪静态一. 纯静态纯静态展示的是实实在在的静态页面运行PHP程序 判断是否存在静态页 如果存在 展示静态页 如果不存在 生成静态页 再展示实现方法 是PHP的ob缓冲//PHP程序一系列逻辑 并将要展示的数据赋值给某些变量准备在模板中使用ob_start();//开启ob缓冲区 也可以在配置文件中开启 require_once('template/index.php');//引入模板文件 也有可能是h转载 2020-11-30 09:53:25 · 295 阅读 · 0 评论 -
php常用数组函数、字符串函数与文件操作函数
php里面的常用数组函数:public function array_function_test(){ $arr=[1,5,68,15,45,23,78,95,2,6,65]; $arr1=[1,5,6,2]; $arrs=array( 0=>array(1,5,68,15,4), 1=>array(15,45,23,78), 2=>array(23,78,95原创 2020-09-27 15:29:50 · 262 阅读 · 0 评论 -
Web常见的安全问题及预防
1,SQL注入定义:SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。防御:不要使用动态SQL:避免将用户提供的输入直接放入SQL语句中;最好使用准备好的语句和参数化查询...原创 2020-02-22 14:52:01 · 380 阅读 · 0 评论 -
php面向对象特征详解
一、面向过程和面向对象面向对象是相对于面向过程的一种编程方式。面向过程的编程方式由来已久,我刚开始学习Basic和Pascal的时候,都是面向过程的编程方式。这种方式非常的直观,需要写一个功能,直接就写几行实现方法。比如你需要操作一个人移动到某个点,直接就写代码修改一个人的坐标属性,逐格的让他移动到目标点就行了。面向对象的编程方式,操作的是一个个的对象,比如你还是需要操作一个人的移动,...原创 2019-10-09 09:48:48 · 385 阅读 · 0 评论 -
fopen() 与 fwrite() 结合使用
fopen():打开文件或者 URLfopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] ) : resourcemode 说明 'r' 只读方式打开,将文件指针指向文件头。 'r+' 读写方式打开,将文件指针指向文件头。 'w' 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 .原创 2020-09-09 10:07:12 · 896 阅读 · 0 评论 -
php超全局变量——$_SERVER详解
$_SERVER['HTTP_ACCEPT_LANGUAGE']//浏览器语言$_SERVER['REMOTE_ADDR'] //当前用户 IP 。$_SERVER['REMOTE_HOST'] //当前用户主机名$_SERVER['REQUEST_URI'] //URL$_SERVER['REMOTE_PORT'] //端口。$_SERVER['SERVER_NAME'] //服务器主机的名称。$_SERVER['PHP_SELF']//正在执行脚本的文件名$_SERVER['a...原创 2020-09-08 15:11:52 · 190 阅读 · 0 评论 -
php预定义的超全局变量
php提供了九种预定义超全局变量: $_GET、$_POST、$_REQUEST、$_SERVER、$_ENV、$_FILE、 $_COOKIE、$_SESSION、 $GLOBALS$_GET:通过http get方式给服务器传送的信息,会被封装在$_POST超全局数组中。 $_POST:通过http post方式给服务器传送的信息,会被封装在$_POST超全局数组中。 $_REQUES...原创 2020-02-25 11:29:59 · 176 阅读 · 0 评论 -
PHP描述冒泡排序和快速排序算法
使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组。<?php//冒泡排序(一维数组)function bubble_sort($array){$count = count($array);if ($count <= 0) return false;for($i=0; $i<$count; $i++){for($j=$count-1; $j>$i; $j--) { //如果后一个元素小于前一个,则调换位置 if ($array[$j]...原创 2020-08-31 22:25:22 · 334 阅读 · 0 评论 -
php如何调用linux命令
一般情况下,很少会用php去执行linux命令,不过特殊情况下,你也许会用到这些函数。以前我知道有二个函数可以执行linux命令,一个是exec,一个是shell_exec。其实有很多的,结合手册内容,介绍以下6个函数。1,exec函数<?php$test = "ls /tmp/test"; //ls是linux下的查目录,文件的命令exec($test,$array); //执行命令print_r($array);?>返回结果如下:[root@jim shell]#原创 2020-08-19 09:21:20 · 947 阅读 · 0 评论 -
php TP5框架生成二维码
首先下载phpqrcode 类库 下载链接:https://sourceforge.net/projects/phpqrcode/files/ 下载后解压 phpqrcode 文件,放到目录 vendor 下 方法代码,如下: public function create_qrcode(){ vendor('phpqrcode.phpqrcode'); $value = 'https://www.baidu.com/'; //二维码内容链接 $err.原创 2020-07-08 11:28:26 · 1001 阅读 · 0 评论 -
PHP导出批量、单独excel导出功能
批量导出excel思想:把需要下载的excel文件都生成并保存到一个指定的临时目录 new一个压缩文件包,把目录中的文件都添加都压缩文件包中 header()下载压缩文件包,删除临时目录和压缩文件包/** * [Export_transcript 导出班级学生信息] * @author Jim * @datetime 2020-5-25 T21:40:29+0800 */ public function Export_transcript().原创 2020-05-26 14:47:13 · 419 阅读 · 0 评论 -
使用urldecode( json_encode())转换数据返回的中文出现unicode编码
使用urldecode(json_encode(array('data'=>$data)))返回的数据出现以下编码(当中的数据有中文,但是显示的是编码)使用urldecode(json_encode(array('data'=>$data),JSON_UNESCAPED_UNICODE))返回的数据出现以下编码(数据显示 中文)...原创 2019-01-30 16:11:05 · 1848 阅读 · 0 评论 -
PHP 实现允许为0不允许为null的判断
原理:首先判断变量是否为整数,而且是否为空;如果不是整数而且恒等于“ ”,则报错,即当变量为0是,是整数所以就不报错。(个人见解)举例:$data = 0 ;if( !is_numeric($data ) && $data === " " ){ $error_message = "数字不能为空!"; exit($error_message);}...原创 2019-01-30 15:47:09 · 1931 阅读 · 0 评论 -
PHP 使用 curl 测试接口(模拟请求)用例
public function testapiOp() { $order = array( 'order_sn' => '15456216474946', 'dealtype'=> 1, 'goods_weight'=>0.2222, 'goods_nwei...原创 2019-07-01 14:16:53 · 757 阅读 · 0 评论 -
php 数组与对象转换
/**数组 转 对象@param array $arr 数组@return object*/function array_to_object(KaTeX parse error: Expected '}', got 'EOF' at end of input: …{ if (gettype(arr) != ‘array’) {return;}foreach ($ar...原创 2019-07-24 18:55:36 · 90 阅读 · 0 评论 -
获取字符串指定字符 前后 的字符串
public function err_redisOp(){$redis = new Redis();$redis->connect(‘localhost’,6379); $res = $redis->hKeys('order_bc_api_err'); $data = array_slice($res,0,5);//获取$res数组中的 前5条数据 f...原创 2019-08-07 11:30:19 · 813 阅读 · 0 评论 -
php获取文件后缀名
1.$file = 'x.y.z.png';echo substr(strrchr($file, '.'), 1);解析:strrchr($file, '.') strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符2.$file = 'x.y.z.png';echo substr($file, strrpos($file, '....转载 2019-09-10 10:23:47 · 104 阅读 · 0 评论 -
PHP网站从服务器下载文件到本地
public function download_file(){ //文件路径 $fileurl = __DIR__."\\..\\success.txt"; $filename = "testfile.txt"; file_put_contents($fileurl,"你好吗?".PHP_EOL."挺好的!");//设置文件内容 //打开服务器文件(...原创 2019-07-01 13:51:36 · 2508 阅读 · 3 评论