
PHP
代元培
听风看雨 见贤思齐 抚霜踏雪 青云直上
展开
-
Laravel框架常用artisan命令
Laravel框架常用artisan命令原创 2024-11-21 12:58:03 · 133 阅读 · 0 评论 -
PHP设计模式大全与应用场景
PHP常用设计模式与应用场景原创 2022-10-27 16:17:10 · 3141 阅读 · 0 评论 -
【PHP面试题】问答类基础知识点
PHP面试题问答类知识点原创 2022-10-26 16:18:29 · 277 阅读 · 0 评论 -
PHP冒泡排序与快速排序
冒泡排序、快速排序原创 2022-10-25 15:48:09 · 159 阅读 · 0 评论 -
PHP高效读大文件处理数据
PHP高效读大文件处理数据原创 2022-04-20 15:43:49 · 364 阅读 · 0 评论 -
php://input与$_POST与$HTTP_RAW_POST_DATA
首先明确一点,json格式的数据指的的http头body的字符串是一个json格式的字符串。这个在PHP中无法通过$_POST取到,php底层没有对这种方式进行处理。原创 2022-02-23 14:55:52 · 358 阅读 · 0 评论 -
php二维数组根据某个或某几个字段排序
php二维数组根据某个或某几个字段排序原创 2022-02-21 19:32:54 · 533 阅读 · 0 评论 -
php://input的使用方法
php://input是个可以访问请求的原始数据的只读流。POST请求的情况下,最好使用php://input来代替$HTTP_RAW_POST_DATA,因为它不依赖于特定的php.ini指令。而且,这样的情况下$HTTP_RAW_POST_DATA默认没有填充,比激活always_populate_raw_post_data潜在需要更少的内存。enctype="multipart/form-data"的时候php://input是无效的。原创 2022-02-21 16:25:02 · 8498 阅读 · 0 评论 -
PHP使用curl发送post请求的注意事项
前几天在工作中遇到了一个需求,当用户点击了某个按钮以后,后台发起一个post请求到我这里,我接受传递过来的数据。一开始同事是用公司框架公共封装的httpRequest()方法进行发送的,代码如下:原创 2022-02-21 14:47:16 · 1994 阅读 · 1 评论 -
php的curl携带header请求头信息实现http访问
curl请求时添加请求头信息可以模拟真人操作,不容易被当成是爬虫机器人(采集),从而可以绕过Incapsula等安全验证机制。原创 2022-02-21 14:24:18 · 4655 阅读 · 0 评论 -
php使用curl实现get和post请求
php使用curl实现get和post请求原创 2022-02-21 11:51:15 · 3569 阅读 · 0 评论 -
php实现大文件分片上传
如果上传的文件只有小于10M的话,就没必要考虑这样的做法,直接在php.ini中更改一下upload_max_filesize=10m post_max_size=10m这样就可以了,下面我们来说一说php上传超大的文件。原创 2022-02-18 10:39:31 · 3362 阅读 · 0 评论 -
PHP大文件分片上传的实现方法
在网站开发中,经常会有上传文件的需求,有的文件size太大直接上传,经常会导致上传过程中耗时太久,大量占用带宽资源,因此有了分片上传。接下来通过本文给大家介绍PHP大文件分片上传的实现方法,需要的朋友可以参考下。原创 2022-02-17 17:15:25 · 651 阅读 · 0 评论 -
PHP超低内存遍历目录文件和读取超大文件的方法
我写这篇笔记的原因是现在网络上关于PHP遍历目录文件和PHP读取文本文件的教程和示例代码都是极其低效的,低效就算了,有的甚至好意思说是高效,实在辣眼睛。原创 2022-02-17 14:37:56 · 653 阅读 · 0 评论 -
PHP分段下载及限制下载速度
PHP下载大文件失败,通过分段下载并限制下载速度解决。原创 2022-02-17 11:46:12 · 517 阅读 · 0 评论 -
php实现大文件断点续传
所谓断点续传,也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用到Range和Content-Range实体头。原创 2022-02-17 11:28:43 · 508 阅读 · 1 评论 -
PHP大文件分割分片上传
PHP大文件分割分片上传原创 2022-02-17 11:12:52 · 379 阅读 · 0 评论 -
php实现sftp上传下载
php实现sftp上传下载原创 2021-11-23 11:50:35 · 702 阅读 · 0 评论 -
php-fpm进程管理的三种模式
php-fpm进程管理一共有三种模式:ondemand、static、dynamic,我们可以在同一个fpm的master配置三种模式,看下图1。php-fpm的工作模式和nginx类似,都是一个master,多个worker模型。每个worker都在accept本pool内的监听套接字(linux已不存在惊群现象)。 ondemand 在php-fpm启动的时候,不会给这个pool启动任何一个worker,是按需启动,当有连接过来才会启动。 配置文件(我的配置文件...原创 2021-07-06 11:46:21 · 875 阅读 · 0 评论 -
PHP的array_filter过滤数组元素
array_filter—使用回调函数过滤数组的元素。 遍历array数组中的每个值,并将每个值传递给callback回调函数。如果callback回调函数返回true,则将array数组中的当前值返回到结果array数组中。 返回结果array数组的键名(下标)会维持不变,如果array参数是索引数组,返回的结果array数组键名(下标)可能会不连续。可以使用array_values()函数对数组重新索引。<?php$arr = [ ['id'=>...原创 2021-07-05 16:51:16 · 904 阅读 · 1 评论 -
PHP九九乘法表
<?phpfor ($a=1; $a<10; $a++){ for ($b=1; $b<=$a; $b++) { echo "$a*$b=".$a * $b."\t"; } echo PHP_EOL;}# 结果1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=94*1=4 4*2=8 4*3=12 4*4=165*1=5 5*2=10 5*3=15 5*4=20 5*5=256*1=6 6*2=12 6*3=18.原创 2021-06-25 14:23:51 · 620 阅读 · 0 评论 -
PHP自定义大小写转换函数
<?php// PHP的strtolower()和strtoupper()函数在安装非中文系统的服务器下可能会导致将汉字转换为乱码,请写两个替代的函数实现兼容Unicode文字的字符串大小写转换// 答:原因是:中文是由多字节组成的,而只有英文系统的单个英文字符只有一个字节,所以该系统把中文的每一个字节都做了strtolower()处理,改变后的中文字节拼接在一起就成了乱码(新生成的编码映射对应的字符可能就不是中文了)// 手动解决:用str_split(string string,intst.原创 2021-06-18 17:05:13 · 223 阅读 · 1 评论 -
PHP二维数组去重处理
<?php// 二维数组根据某字段去重function assocUnique(&$arr, $key) { $tmpArr = array(); foreach ($arr as $k => $v) { if (in_array($v[$key], $tmpArr)) { unset($arr[$k]); } else { $tmpArr[] = $v[$key]; }.原创 2021-06-17 15:12:01 · 141 阅读 · 0 评论 -
PHP将数组元素两两组合为新数组
// 方式一for($i = 1; $i <= 10; $i++){ $array[] = $i;}for($i = 0; $i < count($array); $i++){ for($j=0; $j<count($array)-$i-1; $j++) { $array2[] = [$array[$i], $array[$i+$j+1]]; }}print_r($array2);die;// 方式二$arr = ['A', 'B'.原创 2021-06-17 11:32:06 · 1069 阅读 · 2 评论 -
PHP判断4个坐标是否构成矩形
矩形: 矩形对角线相等,且四个角为直角。所以可以根据勾股定理判定。 思路: 首先判断坐标点是否有重复,然后四个坐标点可以求得它们两两之间的距离,只要两条短边的平方相加等于长边平方即可判定它为矩形。 注意: 正方形是特殊的矩形。...原创 2021-06-16 19:48:01 · 248 阅读 · 1 评论 -
PHP遍历文件夹
<?php// php遍历文件夹function myScandir($dir){ $files = array(); if($handle = opendir($dir)) { while (($file = readdir($handle)) !== false) { if($file != '..' && $file != '.') { if(is_dir($dir."/".$file).原创 2021-06-16 10:16:32 · 96 阅读 · 0 评论 -
PHP快速排序
基本思想:在数组中挑出一个元素(多为第一个)作为标尺,扫描一遍数组将比标尺小的元素排在标尺之前,将所有比标尺大的元素排在标尺之后,通过递归将各子序列分别划分为更小的序列直到所有的序列顺序一致。<?php//快速排序function quick_sort($arr){ // 先判断是否需要继续进行 $length = count($arr); if($length <= 1) { return $arr; } $base_nu.原创 2021-06-15 17:15:17 · 115 阅读 · 2 评论 -
PHP顺序查找和二分查找
<?php// 顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组/** * 顺序查找 * @param array $arr 数组 * @param mixed $k 要查找的元素 * @return mixed 成功返回数组下标,失败返回-1 */function seq_sch($arr,$k){ for ($i=0,$n = count($arr); $i < $n; $i++) { if ($arr[$i] .原创 2021-06-15 16:19:22 · 150 阅读 · 0 评论 -
PHP洗牌算法
<?php// PHP洗牌算法 每次从数组中剩余元素随机取数按顺序拼成新的数组$card_num = 54; //牌数function wash_card($card_num){ $cards = $tmp = array(); for($i = 0;$i < $card_num;$i++){ $tmp[$i] = $i; } for($i = 0;$i < $card_num;$i++){ $index = ran.原创 2021-06-15 16:05:20 · 271 阅读 · 1 评论 -
PHP中use关键字与闭包函数
匿名函数(闭包函数)是一个独立的命名空间,你不能访问这个命名空间之外的变量,使用use关键字可以把外部的变量 带到这个命名空间中。可以通过使用 & 符号来声明指针变量。原创 2021-06-15 15:50:11 · 233 阅读 · 0 评论 -
PHP二维数组排序算法函数
<?php// 二维数组排序算法函数,能够具有通用性,可以调用php内置函数。function array_sort(&$arr, $order = []){ $result = []; if (empty($arr)) { return $result; } uasort($arr, function ($a, $b) use ($order) { foreach ($order as $key => $sort).原创 2021-06-15 15:21:22 · 95 阅读 · 0 评论 -
PHP实现约瑟夫环猴子选大王
//(约瑟夫环)猴子选大王// 思路:一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去...,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n,输出最后那个大王的编号。<?php//(约瑟夫环)猴子选大王// 思路:一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去..原创 2021-06-15 14:49:22 · 138 阅读 · 0 评论 -
Iterator模式的PHP实现
<?php// 使对象可以像数组一样进行foreach循环,要求属性必须是私有。(Iterator模式的PHP实现,写一类实现Iterator接口)class Test implements Iterator{ private $item = array('id'=>1,'name'=>'php'); public function rewind(){ reset($this->item); } public functio.原创 2021-06-15 14:36:05 · 129 阅读 · 0 评论 -
PHP实现一个双向队列
<?phpclass Deque{ private $queue=array(); public function addFirst($item){ return array_unshift($this->queue,$item); } public function addLast($item){ return array_push($this->queue,$item); } public f.原创 2021-06-15 14:18:12 · 329 阅读 · 0 评论 -
MySQL锁与PHP文件锁
模拟准备--如何模拟高并发访问一个脚本:apache安装文件的bin/ab.exe可以模拟并发量 -c 模拟多少并发量 -n 一共请求多少次 http://请求的脚本例如:cmd: apache安装路径/bin/ab.exe -c 10 -n 10 http://web.test.com/test.php【切入正题】MYSQL中的锁:语法 :LOCK TABLE 表名1 READ|WRITE, 表名2 READ|WRITE .................. 【锁表】UNLOCK TABLES原创 2021-06-15 14:09:45 · 164 阅读 · 0 评论 -
PHP利用MySQL锁解决高并发
先看没有利用事务的时候并发的后果-- 库存管理表CREATE TABLE `t_storage` ( `f_id` int(11) unsigned NOT NULL AUTO_INCREMENT, `f_number` int(11) DEFAULT NULL, PRIMARY KEY (`f_id`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;-- 订单管理表CREATE TABLE `t_order` (...原创 2021-06-06 17:28:09 · 170 阅读 · 2 评论 -
PHP下划线转为首字母大写
<?php// 请写一个函数 实现以下功能// 字符串open_door转换成OpenDoor、make_by_id转换成MakeById// 方式一function str_explode($str){ $strArr = explode('_', $str); $strImplode = implode(' ', $strArr); $strImplode = implode('', explode(' ', ucwords($strImplode))); .原创 2021-04-02 17:29:06 · 435 阅读 · 0 评论 -
PHP中abstract与interface的区别
本文是对PHP中abstract与interface之间的区别进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助。 1、php接口类:interface 其实他们的作用很简单,当有很多人一起开发一个项目时,可能都会去调用别人写的一些类,那你就会问,我怎么知道他的某个功能的实现方法是怎么命名的呢,这个时候php接口类就起到作用了,当我们定义了一个接口类时,它里面的方式是下面的子类必须实现的,比如:interface Shop { public func...原创 2021-03-09 17:35:17 · 282 阅读 · 0 评论 -
PHP中abstract抽象类定义与用法
本文实例讲述了PHP abstract 抽象类定义与用法。分享给大家供大家参考,具体如下: PHP抽象类应用要点: 1、定义一些方法,子类必须完全实现这个抽象中所有的方法; 2、不能从抽象类创建对象,它的意义在于被扩展; 3、抽象类通常具有抽象方法,方法中没有大括号。 PHP抽象类应用重点: 1、抽象方法不必实现具体的功能,由子类来完成; 2、在子类实现抽象类的方法时,其子类的可见性必须大于或等于抽象方法的定义; 3、抽象类的方法可以有...原创 2021-03-09 16:44:53 · 347 阅读 · 0 评论 -
PHP二维数组排序算法函数
$data = array( array( 'id' => 5698, 'first_name' => 'Bill', 'last_name' => 'Cxy', ), array( 'id' => 4767, 'first_name' => 'Steve', 'last_name' => 'Axy', ), array( .原创 2021-02-09 16:41:22 · 247 阅读 · 0 评论