php保留两位小数的几种方法介绍
1.不进位的情况
比如3.149569取小数点后两位,最后两位不能四舍五入。结果:3.14。
可以使用 floor 函数
该函数是舍去取整。例如,floor(4.66456) 结果:4 。
floor(9.1254) 结果9 。
因此,去小数点后两位,需要先乘以100,然后舍去取整,再除以100,即:
$a=floor(3.149569*100)/100
这时浮点计算会出现一 ...
通过PHP简单使用Elasticsearch
说明
本文记录了如何使用 PHP 简单操作 Elasticsearch(ES),适合对 ES 没有一定了解的读者。本文使用本地 Docker 环境进行开发,并提供了示例代码。
示例代码已上传至 码云,欢迎查看。
搭建开发环境
为了方便读者,本文将使用 Docker 搭建开发环境,并以 PHP 7.2 为例。通过本文的指导,读者可以轻松地 ...
根据经纬度坐标获得省市区县行政区划城市名称,自建数据库 java python php c# .net 均适用
目录步骤一、下载省市区边界数据步骤二、解析CSV文件导入数据库步骤三、在程序中根据坐标解析获得城市
在LBS应用中,根据坐标来解析获得对应是哪个城市是一个很常见的功能,比如App里面通过手机定位自动选择城市;本文介绍的是通过自己建的数据库,利用SQL空间查询来进行坐标解析得到对应的省市区,绝大部分支持空间数据类 ...
Think PHP漏洞总结(全系列)
0x01 组件介绍
1.1 基本信息
ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,遵循Apache 2开源协议发布,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。
ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP 5.0以上版本,支持MySql ...
PHP安装Imagick扩展
ImageMagick 是一个图象处理软件,也可以作为PHP的一个扩展来使用。它可以编辑、显示包括JPEG、TIFF、PNM、PNG、GIF和Photo CS在内的绝大多数当今最流行的图象格式。你可以改变图象尺寸、旋转、锐化、减少颜色或加入特殊效果到图象里,并且能够以另一种图象格式保存。
Windows
安装PHP扩展
下载地址:http://pecl.php.net/ ...
php转go?还是php+swoole?
一个老 PHP 程序员建议直接转 go。
我是在 2021 年夏天转 go 的。在那之前,写了很长时间的 php,对这门语言有很深的感情。
php 是我在大学里学的第一种脚本语言。当时流行的是微软的 asp 和 java 的 jsp。jsp 太麻烦,微软的东西我又很排斥,然后就在图书管找到了 php 的参考资料。当年我买了第一本 php 教程。你没看错, ...
PHP之PHPExcel
PHPExcel是一款非常强大的PHP操作EXCEL库,使用PHPExcel可以帮助我们简单、高效实现从Excel读取Excel的数据和导出数据到Excel。
操作:
include 'PHPExcel.php';
include 'PHPExcel/Writer/Excel2007.php';
//或者include 'PHPExcel/Writer/Excel5.php'; 用于输出.xls的
创建一个excel
$objPHPExcel = ...
PHP学习记录18(PHP伪协议)
PHP伪协议其实就是支持的协议和封装协议。
PHP伪协议事实上就是支持的协议与封装协议(12种)
PHP 带有很多内置 URL 风格的封装协议, 除了这些封装协议,还能通过 stream_wrapper_register() 来注册自定义的封装协议。
要成功应用伪协议需要php.ini文件的allow_url_fopen 默认开启
...
mac安装php
一、安装php
brew reinstall php
安装完成配置:
==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/bottles/php-8.0.11_Already downloaded: /Users/huangdan07/Library/Caches/Homebrew/downloads/5f7fe12c310bba3fb550de97deff649d509fd63803b180f48fa768ca94e41d71--php-8.0.11_1.arm64_big_sur. ...
PHP代码篇(九)PHP接口开发如何使用JWT进行验证身份
前言
事情是这样的,在我进入目前公司的时候。因为公司是一家创业公司,所以在我进去的时候,里面的开发配置就是web前端,ui设计,加我PHP后台各一个。接手的是一个公益小程序,业务倒是不怎么复杂,负责人说这个项目是之前委托外包公司开发的,用的是uniapp开发的小程序,基于ThinkPHP6.0做的接口开发,和一个Ca ...
PHP特性总结
PHP特性总结
来源: Tajang的大千世界
1、数组绕过正则表达式
if(preg_match("/[0-9]/", $num)){
die("no no no!");
}
else(intval($num)){
echo $flag;
}
preg_match第二个参数要求是字符串,如果传入数组则不会进入if语句
payload:num[]=1
2、intval函数的使用
intval( mixed $value, int $bas ...
ctf-web:PHP伪协议
文件包含漏洞
为了更好地使用代码的重用性,可以使用文件包含函数将文件包含进来,直接使用文件中的代码来提高重用性。但是这也产生了文件包含漏洞,产生原因是在通过 PHP 的函数引入文件时,为了灵活包含文件会将被包含文件设置为变量,通过动态变量来引入需要包含的文件。此时用户可以对变量的值可控,而服务器端未对变量 ...
php简介
简介PHP (超文本预处理器)原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor"。自20世纪90年代国内互联网开始发展到现在,互联网信息几乎覆盖了我们日常活动所有知识范畴,并逐渐成为我们生活、学习、工作中必不可少的一部分。据统计,从2003 年开始,我国的网页规模基本保持 ...
PHP 单页面在线聊天
使用PHP做的单页面在线聊天。
基本功能:
1. 多人聊天2. 多房间3. 传输信息加密,基于base64+字符替换实现4. 基于长连接读取(ngnix使用PHP sleep有问题)5. 支持昵称自定义,并使用浏览器保存。6. 需要在程序目录创建chat_data文件夹,用来存储历史聊天数据(仅保留最近1分钟)
原代码如下:
<?php
// 系统入口
date_defa ...
✔PHP文件包含漏洞全面总结
我的另一篇博客总结的不够全面,但依然有借鉴价值:https://www.cnblogs.com/Zeker62/p/15192610.html
目录文件包含的定义文件包含漏洞常见函数文件包含漏洞示例代码分析无限制本地文件包含漏洞定义以及代码实现常见的敏感信息路径Windows下常见敏感文件Linux下常见敏感文件漏洞利用无限制本地文件包含漏洞示例代码读取文件 ...
自己实现一个简单的php路由器
自己实现一个简单的php路由器
路由器的作用是根据客户端发送过来的请求连接,执行相应的操作,然后返回给客户端一个结果。
下面使用php一步步地实现一个简单的路由器,加深理解。
准备工作
在服务器上配置好php的运行环境,然后通过浏览器访问服务器上的php文件,就可以得到该php文件的执行结果。
在平常工作中请求的后端接 ...
CentOS7安装PHP
1、下载php wget https://www.php.net/distributions/php-7.4.22.tar.gz 这里下载的是7.4.22,其他版本官网下载
2、解压 tar -zvxf php-7.4.22.tar.gz
3、进入目录 cd php-7.4.22
4、进行预编译 ./configure --prefix=/home/php --enable-fpm
后面编译携带参数 ...
Java & PHP 3DES 互通加密、解密
3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。
3DES又称Triple DES,是DES加密算法的一种模式,它使用2条不同的56位的密钥对数据进行三次加密。
数据加密标准(DES)是美国的一种由来已久的加密标准,它使用对称密钥 ...
布隆过滤器 php实现
1.抛砖引玉
有些项目中,缓存可能是这样设计的:
前端用户查询数据时:
先去缓存或nosql(redis mongodb等)里面查。如果能找到,就直接把数据返回给用户。
如果缓存里面也没有(缓存没命中),才去数据库中查找。
上面这个设计的目的,是为了用缓存给mysql降低访问压力。
缓存命中率越高, 需要查询mysql的可能性就越小 ...
PHP md5 相等绕过
1 "oe" 绕过
1.1 原理
根据这篇文章[1],
因为处理hash字符串时,PHP会将每一个以 0E开头的哈希值解释为0,那么只要传入的不同字符串经过哈希以后是以 0E开头的,那么PHP会认为它们相同
基本的原理是这样的,但更严谨的字符串格式是,0e 开头,同时后面都是数字,不能包含其他字符的字符串,md5 值才会相等(== 的结果为 ...