
PHP
文章平均质量分 57
闲不住的程序员
这个作者很懒,什么都没留下…
展开
-
WorkerMan 最简单的推送
【代码】WorkerMan 最简单的推送。原创 2023-04-17 13:20:31 · 451 阅读 · 0 评论 -
基于laravel和vue的前后端分离设计
前言客户端带着账号密码登录,服务端处理//生成token$token = Token::getToken(['id' => $info['id'],'username' => $info['username'],'time' => time()]);// 把token存储在redis中用于更新有效期$val = ['token' => $token];$key = "ADMIN:UID:".$info['id'];$redis = new Predis();原创 2021-05-15 13:28:34 · 1812 阅读 · 13 评论 -
php使用jwt 验证 firebase的令牌ID
firebasejwt简介下载php-jwtcomposer require firebase/php-jwtgithub仓库地址:php-jwt基本使用<?phprequire_once __DIR__.'/vendor/autoload.php';ini_set("display_errors", "On");error_reporting(E_ALL | E_STRICT);use \Firebase\JWT\JWT;$privateKey = <<<原创 2021-05-11 08:54:05 · 686 阅读 · 0 评论 -
工作中php遇到的问题以及常用函数整理(持续更新)
生成批量insert语句/** * * @param $tableName string 表名 * @param $arr array 数组 * @return string string sql */function buildBatchInsertSql($tableName, $arr){ //左右括号 list($left_space, $right_space) = ['(', ')']; //闭包中处理数组中的字段增加 `` 避免关键字 $fie原创 2021-02-09 21:31:50 · 1082 阅读 · 0 评论 -
thinkphp导出Excel的小工具
数组索引下标转为Excel列数 0=>A 1->B之前在导出的时候,要指定A1单元格的内容,类似于这种,中间一旦删除某个列,还要手动修改A,B,的位置,很麻烦于是写了一个函数根据数组的下标转为A1,A2这种,随意变换顺序。导出核心函数通过$is_download 控制前端导出和后端导出,前端导出就把文件名保存通过接口形式返回回去,后端导出就直接设置header头设置下载调用方式$header中,用|隔开,第一个是中文名称,第二个是数据库对应字段,第三个是单元格对应的宽度原创 2021-02-01 17:27:26 · 152 阅读 · 0 评论 -
php打包为phar文件
Phar就是把Java界的jar概念移植到了PHP界。Phar可以将一组PHP文件进行打包,还可以创建默认执行的stub(或者叫做 bootstrap loader),Phar可以选择是否进行压缩,可选gzip和bzip2格式方法也很简单,我们先创建一个文件夹以及一个文件在文件夹外新建一个文件,用来生成phar文件$phar = new Phar('user.phar', 0, 'user.phar');$phar->buildFromDirectory(dirname(__FILE__原创 2021-01-30 21:13:10 · 1132 阅读 · 0 评论 -
thinkphp使用phpoffice读取Excel并写入数据库
读取Excel使用Thinkphp5.1+Office扩展,composer添加依赖"require": { "php": ">=5.6.0", "phpoffice/phpspreadsheet": "^1.6", },设置执行时间和内存限制,经过测试1M左右的xlsx文件,需要设置100M以上ini_set('max_execution_time', '0');ini_set('memory_limit', '650M');直接指文件地址:原创 2021-01-21 19:01:52 · 1261 阅读 · 0 评论 -
一次因时区引发的血案
前言曾经以为时区这种东西一辈子都不会用到,又不出国,也不会接触到国外的项目。怎奈公司项目涉及海外版本,并且架构本身并没有考虑到时区问题,数据库中存储的相关时间部分不是时间戳,而是timestamp类型,当他来的时候总是那么的措不及防,以下是血泪史的记录,谨以此文告慰一周死去的脑细胞。时区基础知识世界时区总共分为24个,从-12到+12,分别被称作是东一到东十二,西一到西十二。以北京时间为例: 属于东八区 +8 ,美国 西六区 -6UTC :Coordinated Universal Tim原创 2021-01-05 22:41:28 · 227 阅读 · 0 评论 -
接口对接小工具php版本
对接接口的时候,常常需要做模拟数据,有的文档里面有现成的json或者表格。如果遇到json字段比较多的情况,我们需要一个一个的拷贝粘贴,费时费力。因此写个小工具,json转为postman需要提交的格式或者直接生成php变量。我们直接把对应postman这一栏的拷贝到欢迎随时来撩...原创 2020-11-05 09:00:22 · 349 阅读 · 0 评论 -
彻底理解cookie和session,不信来打我
场景描述最近公司的管理系统老是自动掉线,而且这种情况是随机的,不是固定某个时间掉线,也不是固定次数掉线,死活找不到原因,为此特意大量查询资料以及自己的亲自实践。特此总结。ps:框架采用的是Thinkphp5.1开发。cookie英文翻译小甜饼,从字面翻译看不出对于web开发有啥帮助。淡出的说cookie就是存储在客户端浏览器里面的key-value值,从哪里可以看到呢每一个key-value 都是cookie,为啥说cookie不安全呢,因为他对用户是可见的,用户可以自动修改这个值。cook原创 2020-10-31 13:37:29 · 309 阅读 · 1 评论 -
thinkphp,yii2运行定时任务
运行定时任务的两种方式1.curl url这种以web访问模拟浏览器的形式实现。2.php 入口 模块/控制器/方法thinkphp5 例子:php 入口文件的绝对地址 cli/up_class/index同理yii2 框架控制器如下:执行代码:php 项目/yii taskss/pull配合Linux下的crontab即可实现定时任务。//每三分钟执行一次*/3 * * * * /usr/local/php/bin/php 项目/public/index.php cl原创 2020-07-03 09:17:00 · 353 阅读 · 0 评论 -
php导出Excel简单函数封装
php通过composer安装phpoffice,composer中添加如下require "require": { "php": ">=5.6.0", "topthink/framework": "5.1.*", "topthink/think-captcha": "^2.0", "phpoffice/phpspreadsheet": "^1.6", "qcloud/cos-sdk-v5": "^1.3",原创 2020-07-03 09:01:07 · 486 阅读 · 0 评论 -
php使用curl下载文件
$url = 'http://xxxx/1.txt';// 获取远程文件大小函数function remote_filesize($url){ ob_start(); $ch = curl_init($url); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_NOBODY, 1);...原创 2020-02-27 15:28:30 · 1411 阅读 · 0 评论 -
php5.6+nginx 开启xdebug扩展
1.下载扩展一定是php_xdebug之前是php_xdebug-2.5.0rc1-5.6-vc11-x86_64.dll 导致一直出不来下载完成之后用phpinfo查看如果下载的是下php_xdebug-2.5.0rc1-5.6-vc11-x86_64.dll这种,会导致在调试的时候刷新phpinfo,这里不是phpstorm会变成数字。2.phpstorm配置3.php.i...原创 2020-02-21 14:34:34 · 840 阅读 · 0 评论 -
linux下安装php的rdkafka扩展
1.使用yum安装php5.6+mysql+apache(参考之前的博客)安装完成之后php默认的安装位置:php 执行文件:/usr/bin/phpphp配置文件 /etc/php.ini2.安装librdkafka2.1 下载包解析wget https://github.com/edenhill/librdkafka/archive/master.zip2.2 解压并进入...原创 2020-01-07 09:10:30 · 878 阅读 · 0 评论 -
封装sql链式操作
前言用习惯了tp这种链式操作框架,因为项目原因不能使用tp这种框架,只能自己手动拼接sql,这种对于不愿用点号一直拼的人很是恼火,于是本人封装了一个简单的链式操作,来获取sql,然后用pdo直接执行sql语句获取结果。代码说明里面运用的基本是面向对象的思想,用到了一个PHP不算常用的场景,反射,大大的节省了代码量。自己亲手封装,仅供参考,代码中没有对于注入进行处理,需要的小伙伴可以自己进行二...原创 2019-11-08 14:57:34 · 539 阅读 · 0 评论 -
php发送json字符串
使用curl的post方式发送json字符串代码块function post_json_data($url, $arr) { $data_string=json_encode($arr); $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_URL,...原创 2018-07-27 19:53:47 · 1951 阅读 · 0 评论 -
php 中的简单依赖注入
依赖1.举例: 人开车,需要一辆车,车子能够正常运行,必须有轮子。依赖关系就是人依赖于车,车依赖于轮子。分别建立以下的三个类车轮class Wheel{ public function create() { echo '正在造轮子'; }}汽车class Car{ private $wheel; public funct...原创 2019-01-12 13:43:38 · 317 阅读 · 0 评论 -
使用ajax上传表单(含文件)以及后台生成缩略图
var formData = new FormData();var filename='filename';formData.append('file', imgFile, filename);//添加文件formData.append('username', $('#name').val());//添加普通表单元素//表单提交 $.ajax({ url: '...原创 2019-05-08 14:40:44 · 284 阅读 · 0 评论 -
ThinkPHP5.1使用union之后使用paginate报错
入坑因为项目需求必须使用union关联查询,源代码如下:这里的$data最终是用paginate函数自动生成分页,但是这里报错了,使用select就可以正常获取到值。因为项目需求必须使用union关联查询,源代码如下: $data = $student_model->field(implode(',', $fieldArr))->alias('student_sell') ...原创 2019-09-19 09:29:38 · 1707 阅读 · 0 评论 -
php中关系数组处理
<?php//$a为车子的名称//$b为车子的型号//需要实现把车子的型号放到车子名字下,关联字段$b中的pid对应$a中的id$a = [ ['id' => 1, 'name' => '奥迪'], ['id' => 2, 'name' => '奔驰'], ['id' => 3, 'name' => '玛莎拉蒂']];$...原创 2019-09-19 09:37:00 · 198 阅读 · 0 评论 -
面试小节
自定义实现内置的shuffle<?php//实现自定义的随机打乱function myshuffle($arr){ $result = []; $time_start = getmicrotime(); while (count($result) < count($arr)) { $max = max($arr); $mi...原创 2019-09-20 08:54:50 · 135 阅读 · 0 评论 -
Linux安装php扩展(redis为例)
1.下载扩展包地址推荐http://pecl.php.net或者使用wget url2.解压tar zxvf file3.进入解压目录执行phpize,告诉php要进行扩展的预编译这里以宝塔安装的lamp环境为例,phpize所在的路径为/www/server/php/70/bin/phpize4.配置自动配置./configure --with-php-config=/www...原创 2019-09-20 08:56:20 · 110 阅读 · 0 评论 -
Centos7下使用yum安装lamp
使用yum安装lampyum install epel-release -y 安装源rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm -yyum install httpd -y 安装apache*yum install php70w -y 安装php7yum install php70w-pec...原创 2018-07-17 12:09:08 · 825 阅读 · 0 评论