-
大数字转换为科学计数单位的 PHP 函数
PHP教程2023-03-31
以下是将大数字转换为科学计数单位的 PHP 函数: function format_big_number($number) { $units = array('','千','万','亿'); $power = floor((strlen($number)-1)/4); $suffix = $units[$power]; $result = substr($number, 0, -1*$power*4); return $result.$suffix; } 使用示例: echo format_big_num
-
PHP实现 访问频率限制的方法
PHP教程2023-03-31
该程序将客户端 IP 地址作为键,将上一次访问时间和请求次数作为值存储在一个 JSON 文件中。每次请求时,程序会读取该文件并检查该 IP 地址在时间间隔内是否已经达到了最大请求次数。如果是,则返回 HTTP 429 Too Many Requests 错误;否则,更新访问日志并正常处理请求。...
-
使用 PHP cURL 库实现异步网络请求
PHP教程2023-03-31
以下是使用 PHP cURL 库实现异步网络请求的示例代码: function async_request($url, $params = array(), $callback) { // 初始化 cURL $ch = curl_init(); // 设置 URL 和其他选项 curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http
-
THINKPHP6 自定义文件上传命名规则
PHP教程2023-01-09
先看看THINKPHP默认的文件名生成方法 /** * 自动生成文件名 * @access public * @param string|\Closure $rule * @return string */ public function hashName($rule = ''): string { if (!$this->hashName) { if ($rule instanceof \Closure) { $this->hashName = call_user_func_array($
-
THINKPHP6 获取数据库表字段列表
PHP教程2021-06-14
获取数据库表字段列表: \think\facade\Db::getTableFields($prefix.$table); 过滤表字段意外的数据: function getdata($table='',$data=''){ if(!$table) return []; if(!$data) return []; $prefix = config('database.prefix'); $fields = \think\facade\Db::getTableFields($prefix.$table);
-
always_populate_raw_post_data = -1报错问题解决办法
PHP教程2021-05-19
我们的web服务器由Apache换成了ngix运行出现如下图错误 Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream in
-
thinkphp6伪静态设置隐藏默认模块名
PHP教程2020-10-26
查看和修改默认模块名: 查看配置在 config/app.php 中: // 默认应用 'default_app' => 'index', 项目默认安装的默认模块是 index, 可以自定义修改为其他模块名,比如home, 只需要调整 配置项 default_app 值为home,把默认模块名index目录改名为home即可 获取默认模块名称,代码如下:
-
substr函数在php中截取部分字符串(附详解)
PHP教程2020-06-08
PHP substr函数的语法: string substr(string string, int start, int [length]) 参数string为要操作的字符串。 参数start为你要截取的字符串的开始位置,若start为负数时,则表示从倒数第start开始截取length个字符。 可选参数length为你要截取的字符串长度,若在使用时不指定则默认取到字符串结尾。若length为负数时,则表示从start开始向右截取到末尾倒数第length个字符的位置。 起初用这个函数时可能感觉到别扭,不
-
PHP实现创建一个RPC服务操作示例
PHP教程2020-02-28
本文实例讲述了PHP实现创建一个RPC服务操作。分享给大家供大家参考,具体如下: RPC全称为Remote Procedure Call,翻译过来为"远程过程调用"。主要应用于不同的系统之间的远程通信和相互调用。 比如有两个系统,一个是PHP写的,一个是JAVA写的,而PHP想要调用JAVA中的某个类的某个方法,这时候就需要用到RPC了。 怎么调?直接调是不可能,只能是PHP通过某种自定义协议请求JAVA的服务,JAVA解析该协议,在本地实例化类并调用方法,然后把结果返回给PHP。 这里我们用PHP的s
-
解决升级 WordPress 时提示”另一更新正在进行”
PHP教程2019-10-30
提示wordpress-4.5.1自动升级失败,只好手动升级了。但是手动升级提示: 升级wordpress-4.5.1失败 第一个反应是,通过object-cache.php缓存数据库了,所以无法升级。但是把数据库缓存停止了,手动升级依然失败。 解决办法 这是由于在升级Wordpress时,Wordpress会在数据库wp_options表中增加core_updater.lock记录。如中途打断Wordpress升级,这个记录会留在数据库中。当下