总数 栏目php
PHP地址引‘&’用的两个注意点
# foreach 循环 在foreach循环中经常用取地址的方式来修改循环体 ``` $arr = ['www.baid.com','www.google.com']; //给数组中的字符串拼接https:// //第一种做法 foreach($arr as $key=>$value) { $ar ......
打一个适合自己主机的nginx和php的包
### 创建适配主机的nginx和php的包 ```bash ## 先m01上配置一遍wordpress # 安装nginx,php包 # 官方源安装 vim /etc/yum.repos.d/nginx.repo [nginx-stable] name=nginx stable repo base ......
php中日期时间字符串可以直接比较大小
# php中的日期时间字符串可以直接比较大小 很多朋友还不知道,一直使用 `strtotime` 转换字符串为时间戳再比较大小。 ```php $time1 = '09:00'; $time2 = '12:51'; $time3 = '22:00'; self::assertTrue($time2 ......
php实现占位符模板替换
# php实现占位符模板替换 对接过微信模板消息,或者阿里大于接口的,应该都知道,三方会给你一些模板,模板里有一些占位符,你只需要按照模板里的占位符填充参数即可。 ## demo,实现一个地址跳转系统 用户提供域名和路径参数,系统配置模板即可,用户传参即可替换。 ```php // 用户提供的参数 ......
[PHP](MD5、sha1)比较漏洞
# PhP (MD5、sha1)比较漏洞(弱比较、强比较、强碰撞) ## 弱比较 md5和sha1弱比较都是利用php解析哈希值以“0E”开头的特性,结果都为0符合参数1的字符串值和参数2的字符串值不相等,但md5值相等。 如:240610708,aabg7XSs,aabC9RqS,s8789261 ......
PHP接入图片文字识别AIP
由于项目的需要,我使用百度的文字识别API,但要注意的是不是百分百可以识别,特别是手写的字体很潦草就很难识别了。 使用文字识别的API: 第一步:新手接入指南 https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjgn3 第二步:接入API 文档:https://a ......
php特性第二天
## 99 ``` array_push() 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。 该函数等于多次调用 $array[] = $value。 in_array() 函数搜索数组中是否存在指定的值。(注意:in_array()函数有漏洞 没有设置第三个参数 就可 ......
php特性第一天
[TOC] ## 89 ![image-20230520082935928](./../../AppData/Roaming/Typora/typora-user-images/image-20230520082935928.png) preg_match()返回 pattern 的匹配次数。 它的 ......
关于PHP正则表达式这回事
![image-20230520085418434](./../../AppData/Roaming/Typora/typora-user-images/image-20230520085418434.png) ![image-20230520085427346](./../../AppData/R ......
基于官方php:7.2.34-fpm-alpine镜像构建生产可用镜像
1 了解官方php镜像 Dockerhub 上 PHP 官方基础镜像主要分为三个分支: cli: 没有开启 CGI 也就是说不能运行fpm。只可以运行命令行。 fpm: 开启了CGI,可以用来运行web服务也可以用来运行cli命令。 zts: 开启了线程安全的版本。 选择什么分支的镜像? 一般在生成 ......
制作一个生产环境可用的PHP基础镜像
目录 引言 了解PHP基础镜像 需求分析以及镜像选择 构建准备 最终的Dockerfile 引言 初学docker一定会觉得Dockerfile很难,其实只是无从下手的缘故。最好的学习方法就是看完每个Dokerfile指令的作用,然后不要急着去搞清楚,直接挑选一个你比较熟悉的服务软件动手自己制作一个 ......
基于官方镜像定制php-fpm容器
PHP官方docker镜像分类 php:-cli php:-apache php:-fpm php:-alpine 回到目录 制定适合生产环境的镜像 为何要定制 官方镜像缺少常见扩展 以php:8.0.8-fpm-alpine3.13为例 定制步骤 新建目录以/root/docker为例 mkdir ......
centos7安装erlang、rabbitmq以及php扩展
# centos7安装erlang、rabbitmq以及php扩展 标签(空格分隔): liunx,php 安装Erlang 版本:el7 erlang-20.3.8.25 erlang-20.3.8.25-1.el7.x86_64.rpm 1. 下载 wget --content-disposit ......
php反序列化逃逸
之前就对字符串逃逸这一块理解的不是很深刻,下面通过一位师傅的博客来进一步深入理解一下有关php字符串逃逸的相关内容。 贴上师傅的博客地址:https://blog.csdn.net/qq_45521281/article/details/107135706、 **先来说一下什么是字符串逃逸,就是我们 ......
PHP 获取无限级下级ID 无层级
PHP 获取无限级下级ID 无层级 非递归 删除会员处有误,修复后上传记录, PHP 获取无限级下级ID 无层级 非递归 删除会员处有误,修复后上传记录, PHP 获取无限级下级ID 无层级 非递归 删除会员处有误,修复后上传记录, PHP 获取无限级下级ID 无层级 非递归 删除会员处有误,修复后 ......
PHP用PhpOffice->PhpSpreadsheet导出excel
phpexcel由于版本陈旧性能低下官方放弃维护转而开发PhpSpreadsheet 用了最新得psr标准因而 对php版本不向下兼容需要注意!。 PhpSpreadsheet是一个用纯PHP编写的库,提供了一组类,使您可以读取和写入不同的电子表格文件格式PhpSpreadsheet提供了丰富的AP ......
PHP 检查字符或者字符串 是否仅包含指定类型的字符 ctype 系列函数
$strings = array('AbCd1zyZ9', 'foo!#$bar'); foreach ($strings as $testcase) { if (ctype_alnum($testcase)) { echo "The string $testcase consists of all ......
PHP Warning: PHP Startup: redis: Unable to initialize module
redis已安装,且已经在php中安装了redis.so,但升级php版本后不能使用原来的redis.so扩展,需要重新编译安装phpredis。今天安装后重启php-fpm时出现了以下错误: [root@kermit etc]# php-fpm restartGracefully shutting ......
一个简单的应用MVC思想的php程序
<?php //controller.php 控制器程序 require_once("model.class.php"); $type = isset($_GET['type'])?$_GET['type']:3; $modelObj = new DateTime2(); switch($type) ......
ctfshow php特性
web111 源代码 highlight_file(__FILE__); error_reporting(0); include("flag.php"); function getFlag(&$v1,&$v2){ eval("$$v1 = &$$v2;"); //这里是一个赋值语句把v2的值复制下面 ......
php+phpstorm+xdebug配置
#简介 原文链接:https://culturesun.site/index.php/archives/675.html 因为博客是php的,所以无奈接触了php开发,虽然之前也学习过php语法。 搞开发是离不开debug。最初从网上找到相关教程配置成功了,后来升级php,浏览器崩了搞的debug不 ......
PHP实现调用采集淘宝拼多多商品详情数据item_get-获得商品详情
淘宝是一个由阿里巴巴集团旗下的电子商务平台,提供了一个包含商品购买、在线支付、物流配送等服务的综合型在线购物平台。淘宝的用户可以自由注册并发布商品,其他用户可以在上面购买各种商品,包括服装、鞋帽、数码电子、家居用品、美容化妆品、母婴用品等。淘宝的优势在于丰富的品类和价格优势,同时还支持各种营销活 ......
宝塔面板中安装php8以上环境,提示: configure: error: iconv does not support errno
问题:宝塔面板中安装php8 编译时提示configure: error: iconv does not support errno # 下面这些是配置yum源和epel源,阿里云ecs在centos8测试成功 wget http://mirrors.cloud.aliyuncs.com/repo/ ......
PHP代码审计——ThinkPHP基础
一、ThinkPHP概述 1. ThinPHP是一个轻量级的PHP框架,旨在提供快速开发Web应用程序的工具和资源。它采用了MVC(Model-View-Controller)架构,使开发人员可以更好地组织和管理代码。ThinPHP还提供了许多有用的功能,如路由、数据库抽象层、模板引擎等,使开发人员 ......
PHP初涉
由于AJAX技术的使用很多时候有必要结合PHP技术,因此学习PHP也迫在眉睫。 介绍一下PHP: PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器")是一种通用开源脚本语言。 PHP是一种服务器端的编程语言,主要用于编写动态网站和 Web 应用程序。PH ......
PHP 基础
```php /* 注释 */ // 注释 ``` ## 语法结束符 ```php ` * `=` * ` 1){ echo true; }else{ echo false; } // switch分支 switch(a){ case 1: echo 1; break; case 2: echo 2 ......
PHP怎么进行非对称加密
PHP可以使用OpenSSL扩展进行非对称加密。主要步骤如下:1. 生成密钥对:使用openssl_pkey_new()和openssl_pkey_export()生成公钥和私钥。 php 1 $config = [ 2 "private_key_bits" => 2048, 3 "private_ ......
PHP使用Guzzle流式下载
Guzzle 流式下载数据/图片 use GuzzleHttp\Client; $client = new Client(); $response = $client->get('https://baidu.com/?p=%E6%B5%8B%E8%AF%95', ['stream' => true] ......
PHP面向接口编程及多态-示例代码
/** * 1.接口使用上也满足多态性 * 2.接口实际是定义一种规范 * 3.体会面向接口编程 */interface Usb{ public function start(); public function stop();} class Flash implements Usb{ public ......