php
teng316
走投无路的PHPer,开始接触Python和golang喽~~~
展开
-
php 文件下载并重新命名
使用PHP进行文件下载,并重新命名。原创 2024-01-28 08:57:23 · 411 阅读 · 0 评论 -
PHP解决web程序中调用脚步命令无效 root启动PHP
修改禁用函数后,脚本执行仍然没有反应。排查文件权限,发现web程序的执行者是www用户,脚本文件的权限是root用户,查看php的运行着身份是www,修改php的运行用户身份。程序中使用shell_exec();确认函数是否禁用,在php的配置中,修改禁用函数配置,PHP默认禁用exec()等函数。前台功能中,点击按钮后,需要后台执行脚本,更新数据。但是在页面点击后,数据没有更新。原创 2023-02-20 11:11:00 · 340 阅读 · 0 评论 -
解决php安装扩展 configure: error: C compiler cannot create executables
configure: error: C compiler cannot create executablesSee `config.log' for more details原创 2022-11-18 13:40:31 · 876 阅读 · 0 评论 -
PHP 引用传递和值传递
$aa = 123;$bb = &$aa;$aa = 234;echo $bb; //234和$aa = 123;$bb = $aa;$aa = 234;echo $bb; //123原创 2020-06-09 22:45:00 · 467 阅读 · 0 评论 -
PHP十进制转二进制函数
二进制转换十进制bindec(binary_string);// bindec() 函数将一个二进制数转换成 integer。// 可转换的最大的数为 31 位 1 或者说十进制的 2147483647。// PHP 4.1.0 开始,该函数可以处理大数值,这种情况下,它会返回 float 类型。例:echo bindec('110011'); //51十进制转换二进制decbin(dec_number);// decbin() 函数把十进制转换为二进制。// 返回一个字符串,包原创 2020-06-01 22:40:03 · 1217 阅读 · 0 评论 -
文本编辑器 样式失效 white-space: pre;
后台使用文本编辑器,编辑文案保存后,在前端页面展示的时候,样式失效,没有换行原创 2022-06-26 10:43:48 · 983 阅读 · 0 评论 -
Mac启动crontab定时任务
查看本地是否支持crontab定时任务# 查看需要的文件是否存在liangtengdeMacBook-Pro:~ liangteng$ ls -al /etc/crontabls: /etc/crontab: No such file or directory#创建需要的文件sudo touch /etc/crontab# 查看 crontab 是否启动。liangtengdeMacBook-Pro:~ liangteng$ sudo launchctl list | grep cron-0原创 2022-04-20 17:00:04 · 1305 阅读 · 0 评论 -
企业微信组织架构递归展示
业务场景:获取企业微信员工列表,然后按照组织架构的结构展示出来。 // 人员分组处理,补充管理员身份标示 public function personTree($user, $admin_list){ $user_group = []; // 处理人员分组 foreach($user as $uk=>&$uv){ $uv['is_admin'] = 0; if (in_array($uv[原创 2022-04-20 16:05:26 · 1155 阅读 · 0 评论 -
curl Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported
使用curl请求java接口,返回报错array(5) { ["timestamp"]=> string(19) "2021-11-10 11:20:26" ["status"]=> int(415) ["error"]=> string(22) "Unsupported Media Type" ["message"]=> string(76) "Content type 'application/x-www-form-urlencoded;char原创 2021-11-10 11:24:13 · 3358 阅读 · 0 评论 -
curl post请求包含数组参数
场景描述:使用curl方法,post请求接口,参数中包含数组格式的值,又不想把数组转换成json,这时候就需要对curl方法做一点点改动了。 curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_data)); // 这里是关键,把数组参数做一步转换curl方法post一个数组$r = $this->curl_post($url, $data);$list = json_decode($r,true);function c原创 2021-11-16 10:33:56 · 1920 阅读 · 0 评论 -
composer命令中 install、update、require的区别
composer 是 php 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。特定的文件介绍composer.json: 所有的依赖都定义在composer.json中composer.lock: 指定了依赖对应的版本命令的区别composer install: (项目第一次执行composer,没有composer.json文件) 它将会去读取你的composer.lock而非composer.json,并且以此为标准去下载依赖。 当你本地没有comp原创 2021-08-17 11:02:49 · 2253 阅读 · 0 评论 -
laravel8 laravel-excel excel导出
带你体验一下laravel8的优雅!!!今天使用了一个比较优雅的方法实现了excel的导出,特别记录一下。需求:导出按条件搜索出的数据背景介绍:使用laravel8框架,laravel-excel扩展,实现excel导出特点:减少了控制器中的代码量,基于框架自带的功能,实现需求第一步:框架安装扩展使用composer命令,安装laravel-excel扩展composer require "maatwebsite/excel:~2.1.0"第二步:使用laravel框架的artisan命原创 2021-08-15 14:34:52 · 1813 阅读 · 5 评论 -
str_replace strtr PHP字符串替换
提到PHP中的字符串替换,第一反应应该是字符串的替换函数,str_replace();今天又发现了一个好用的函数,strtr();接下来,详细了解一下和区分一下这两个函数。str_replace 定义和用法把字符串 “Hello world!” 中的字符 “world” 替换成 “Peter”str_replace() 函数替换字符串中的一些字符(区分大小写)。该函数必须遵循下列规则:如果搜索的字符串是一个数组,那么它将返回一个数组。如果搜索的字符串是一个数组,那么它将对数组中的每个元素进行查原创 2021-07-27 17:03:15 · 224 阅读 · 0 评论 -
array_fill() 用给定的键值填充数组
array_fill()函数:用给定的键值填充数组<?php$a1=array_fill(3,4,"blue");print_r($a1);?>Array ( [3] => blue [4] => blue [5] => blue [6] => blue )使用场景:生成数组,第一个参数是指定下标,第二个参数是数组项数,第三个参数是数组每一项的值。可以用于数据替换,字符串替换,配合array_combine()使用,把敏感词替换为默认值。...原创 2021-07-27 16:14:33 · 137 阅读 · 0 评论 -
array_combine() 通过合并两个数组来创建一个新数组,其中的一个数组元素为键名,另一个数组元素为键值
array_combine函数:通过合并两个数组来创建一个新数组,其中的一个数组元素为键名,另一个数组元素为键值<?php$fname=array("Peter","Ben","Joe");$age=array("35","37","43");$c=array_combine($fname,$age);print_r($c);?>Array ( [Peter] => 35 [Ben] => 37 [Joe] => 43 )注意:键名数组和键值数组的元素个数原创 2021-07-27 16:05:12 · 594 阅读 · 0 评论 -
php的psr规范
为了规范代码的格式及日常管理,所以有了代码规范,在这里对psr规范做了记录。PSR 是 PHP Standard Recommendation 的简写,即PHP推荐标准。目前通过的规范有 PSR-0(Autoloading Standard)、PSR-1(Basic Coding Standard)、PSR-2(Coding Style Guide)、PSR-3(Logger Interface)、PSR-4(Improved Autoloading)。PSR 不是PHP官方标准,而是从如Zend原创 2021-07-15 19:24:57 · 366 阅读 · 0 评论 -
PHP抽象类与接口的区别
参考:https://www.cnblogs.com/djwhome/p/12533246.html首先,看看什么是抽象类和接口抽象类:定义为抽象的类不能被实例化.任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。继承一个抽象类的时候,子类必须定义父类中的所有抽象方法;另外,这些方法的访问控制必须和父类中一样(或者更为宽松)。例如某个抽象方法被声明为受保护的,那么子类中实现的方法就应该声明为受原创 2021-07-15 19:09:06 · 190 阅读 · 0 评论 -
PHP后期静态绑定
最近面试,被问到了一个问题,你是否了解php的后期静态绑定?what?,没有了解过。在这里做一个补充吧。提到静态,大家想到的应该就是静态变量、静态方法、如何调用等等,下面详细的做一个整理。基础知识1. 范围解析操作符 (::)可以用于访问静态成员,类常量,还可以用于覆盖类中的属性和方法。self,parent 和 static 这三个特殊的关键字是用于在类定义的内部对其属性或方法进行访问的。parent 用于调用父类中被覆盖的属性或方法(出现在哪里,就将解析为相应类的父类)。self 用于调原创 2021-07-15 18:46:00 · 197 阅读 · 0 评论 -
PHP数组 交集 并集 差集
PHP开发过程中,经常会对数组做出处理,在这里对数组的合并,交集,差集做了整理。首先是数组合并,关于array_merge和使用‘+’运算,可以参考之前的一篇文章。https://blog.csdn.net/teng_liang/article/details/111937963数组取交集 array_intersect()第一个数组是主值,返回有相同元素的值(判断依据是元素字符串相同,即 (string) $elem1 === (string) $elem2),键值保留第一个元素的键值$arr原创 2021-07-15 17:38:15 · 330 阅读 · 1 评论 -
Hyperf框架使用阿里云OSS上传失败
阿里云官方PHP OSS SDK和Swoole CURL_HOOK的兼容问题开启CURL_HOOK后使用阿里云OSS会报错:Oss\Core\OssException: : RequestId:解决方案请同时安装官方SDK和reasno/swoole-aliyunoss-addon。composer require aliyuncs/oss-sdk-phpcomposer require reasno/swoole-aliyunoss-addon安装后就可以顺畅开启CURL_HOOK协程化原创 2021-04-17 10:41:33 · 848 阅读 · 0 评论 -
Uncaught Error: Call to undefined function Swoft\Log\go()
swoft框架学习问题记录一问题描述: php bin/swoft start 启动项目后,路由请求接口,内部输出错误 Uncaught Error: Call to undefined function Swoft\Log\go()。背景:上一个项目使用了 hyperf 框架,开发过程中,升级过swoole版本,初步判断是swoole的版本影响了swoole扩展的功能。更换了四五个版本后,问题仍然存在。。。问题原因在php.ini配置中:extension=swoole.soexte原创 2021-04-12 17:06:11 · 769 阅读 · 0 评论 -
pecl命令安装php扩展
使用pecl命令,安装php扩展。使用场景:安装swoole扩展。命令:# 安装pecl install https://pecl.php.net/get/swoole-2.1.3.tgz# 卸载pecl uninstall swoolepecl install 后面可以输入扩展的链接,用于指定版本安装。查看扩展列表:https://pecl.php.net/package/swoole...原创 2021-04-12 16:26:18 · 1089 阅读 · 0 评论 -
DOCKER 阿里云 OSS iconv()
环境介绍:docker镜像、alpine系统、hyperf框架、使用阿里云Oss的sdk上传文件报错记录:PHP Notice: iconv(): Wrong charset, conversion from `GBK' to `UTF-8//IGNORE' is not allowed in /opt/www/vendor/aliyuncs/oss-sdk-php/src/OSS/OssClient.php on line 3076Notice: iconv(): Wrong charset,原创 2021-04-12 13:50:28 · 1237 阅读 · 0 评论 -
ubuntu18.04 安装swoole扩展 开启openssl
环境:ubuntu18.04swoole版本:swoole-4.6.4推荐安装方式:pecl install swoole // 默认安装最新版本注意:安装过程中,会有提示是否支持其他的几个扩展;360 source files, buildingrunning: phpizeConfiguring for:PHP Api Version: 20170718Zend Module Api No: 20170718Zend Extension Api No:原创 2021-04-07 10:56:25 · 629 阅读 · 0 评论 -
Ubuntu 18.04 安装mcrypt扩展
环境:ubuntu 18.04php版本: php7.2.25安装步骤:sudo apt-get -y install gcc make autoconf libc-dev pkg-configsudo apt-get -y install libmcrypt-devpecl install mcrypt-1.0.1注意:安装完扩展后,使用php -m命令,查看是否有mcrypt扩展,如果没有,需要在php.ini文件内增加 extension=mcrypt.so;保存,推出,再查看是否有该扩原创 2021-03-25 17:59:56 · 440 阅读 · 0 评论 -
Linux内查找php.ini所在位置
环境: ubuntu 18.04php查看命令:# 查看版本php -v# 查看已安装扩展php -m查找php.ini文件所在位置:# 方法1使用命令 whereis php; 可以查看php相关目录,如果在列出的目录中查询不到ini文件,可以参考方法2.# 方法21,linux界面,编辑文件 a.php<?php echo phpinfo();?>2,保存,推出php a.php > a.log;3,vim a.log,查看输出的信息,可以直接搜索p原创 2021-03-25 17:54:33 · 1142 阅读 · 0 评论 -
七牛云 图片上传覆盖
php使用七牛云上传图片,覆盖云上已有文件:使用七牛云存储提供的PHP SDK,可以非常方便的将本地文件上传到七牛,但默认情况下,上传的文件不会覆盖旧文件,也就是说,之前上传了一个名为photo.jpg的文件,再上传同名文件photo.jpg时就会失败。图片上传报错: 错误码 42900007?[37;41m Client error: `PUT http://yun_url/dir/650bc1bab567fc47efce824b57b78b5a.jpg` resulted in a `429 T原创 2021-03-25 09:33:26 · 1313 阅读 · 0 评论 -
Linux copy命令 omitting directory
php程序内使用exec()执行cp命令,拷贝文件到另一个目录。错误提示:cp: -r not specified; omitting directory 'D:\phpstudy_pro\WWW\project_name\storage\images/86195406/'?[33mIn UploadManager.php line 91:?[39m?[37;41m原创 2021-03-25 09:13:22 · 4366 阅读 · 0 评论 -
MYSQL学习 建表优化
MYSQL优化方案记录:建表注意事项字段类型设置int 占4字节char(4) 占4个字符,也是定长,time 即每一个单元值占的字节是固定的。核心常用字段,宜建成定长,放在一张表。varchar、text、blob,这种变长字段,适合单放一张表,用核心主键与核心表关联起来字段类型的区别和优先级字段类型优先级:整型 > date、time > enum、char > varchar > blob、text特点分析:整型: 定长,没有国家、地区的分别,没有字原创 2021-03-21 17:55:54 · 118 阅读 · 0 评论 -
mapping set to strict, dynamic introduction of [new_conf_tags] within [conference] is not allowed
往es中存储数据,严格模式日志记录 mapping set to strict, dynamic introduction of [new_conf_tags] within [conference] is not allowed原因:严格模式下禁止往es的mapping中新增字段,需要提前设置好mapping查看索引的mapping结构:curl -XGET 'http://localhost:9200/索引名/_mapping/类型名'发现conference嵌套结构内缺少new_conf原创 2021-02-22 14:21:46 · 2229 阅读 · 0 评论 -
数组合并,array_merge 或者 ‘+’
数组合并,array_merge 或者 ‘+’;array_merge:索引数组:合并两个数组,前面的靠前,下标递增;关联数组:下标相同时,后面的值会覆盖前面的值‘+’:索引数组:前面的值会覆盖后面的值;关联数组:下标相同时,前面的值覆盖后面的值$a = ['a','b','c'];$b = ['d','e','f'];$c = array_merge($a, $b);echo "<pre>";print_r($c);/* Array( [0] => a原创 2020-12-29 21:52:34 · 200 阅读 · 0 评论 -
PHP常用函数isset()、empty()、 is_null()
PHP常用的判断函数的比较isset()、empty()、 is_null()isset() — 检测变量是否设置。bool isset ( mixed $var [, mixed $... ] );// 检测变量是否设置,并且不是 NULL。// 如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。// 若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。// 同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NUL原创 2020-05-31 23:45:43 · 455 阅读 · 0 评论 -
简述print_r、var_dump、var_export的区别
简述print_r()、var_dump()、var_export()的区别?print_r() 函数用于打印变量,以更容易理解的形式展示。var_dump() 函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。var_export() 函数返回关于传递给该函数的变量的结构信息,它和var_dump()类似,不同的是其返回的表示是合法的PHP代码。// var_export必须返回合法的php代码,也就是说,var_export返回的代码,可以原创 2020-12-29 21:49:53 · 168 阅读 · 0 评论 -
PHP获取客户端IP、坐标转换
记录了一些开发过程中用到的小方法1.坐标转换// 百度坐标转谷歌坐标function Convert_BD09_To_GCJ02($lat,$lng){ $x_pi = 3.14159265358979324 * 3000.0 / 180.0; $x = $lng - 0.0065; $y = $lat - 0.006; $z = sqrt($x * $x + $y * $y) - 0.00002 * sin($y * $x_pi);原创 2020-06-01 22:41:56 · 261 阅读 · 0 评论 -
PHP逻辑运算符(取反)的用法
!的用法在PHP的开发过程中,经常会用到逻辑运算符’!’,作为取反;但是以下情况需要注意,否则很容易出现错误:var_dump(!(3>4));exit; // truevar_dump(!3>4);exit; // falsevar_dump(!3<4);exit; // true第一种情况,是先计算括号内部的结果,为false,然后取反,最终返回true;第二种情况,优先计算3取反,为false,然后和4做比较,最终返回false;第三种同第二种。null$data原创 2020-06-02 22:00:16 · 1489 阅读 · 0 评论 -
PHP中的null和count()
null 和 count()$data['aaa']['aa']=null;echo count(null);echo strlen($data['aaa']['aa']);echo count(strlen($data['aaa']['aa']));echo count($data['aaa']);echo count($data['aaa']['aa']);echo count('11');echo count(11);// 上面会分别输出 0 0 1 1 0 1 1// 原因分析原创 2020-12-29 21:47:10 · 304 阅读 · 0 评论 -
PHP递归
function num1($n,$m=1){ static $x=1; if($n>0){ $x=$n*$m; $n--; echo $x; num1($n,$x); } return $x; } echo num1(4); // 24function num($n){ static $m=1; if($n>0){ $m*=$n; num(--$n); } return原创 2020-07-16 22:22:15 · 130 阅读 · 0 评论 -
imagemagick图片旋转
待完善原创 2020-08-23 22:11:06 · 605 阅读 · 0 评论 -
laravel5处理excel
工作需要导出excel,下面是使用laravel导出excel的一个小demo# 首先要引入excel类use Excel;use Illuminate\Console\Command;class AppraiseInfo extends Command { public function getExcelData(){ # 查询要导出的数据 二维数组 $excel_data = []; $this->export($excel_data); exit原创 2020-09-06 16:09:28 · 333 阅读 · 0 评论 -
php封装curl方法、批量请求
curl批量curl原创 2020-09-20 22:27:24 · 499 阅读 · 0 评论