
php
文章平均质量分 68
PHP开发,知识点总结
汀风说后端
做一个知识分享者
展开
-
深入理解Laravel定时任务调度机制
1. 基本实现逻辑一个复杂的web系统后台当中,一定会有很多定时脚本或者任务要跑。例如爬虫系统需要定期去爬取一些网站数据,自动还贷系统需要每个月定时对用户账户扣款结算,会员系统需要定期检测用户剩余会员天数以便及时通知续费等等。Linux系统中内置的crontab一般被广泛地用于跑定时任务。其任务指令格式如下:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-li661hSQ-1643009747304)(https://ask.qcloudimg.com/http-save/转载 2022-01-24 15:36:26 · 1540 阅读 · 0 评论 -
Laravel打印执行的SQL语句
Laravel 打印SQL语句\DB::connection()->enableQueryLog(); //开启执行日志,加在需要打印的SQL语句之前$list = self::where(['investorid'=>$id])->whereBetween('inserttime',[$start,$end])->where('deposit','>',0)->orderBy('id','asc')->Paginate(20);print_r(\DB原创 2022-01-17 14:48:12 · 2794 阅读 · 0 评论 -
PHP使用ImageMagick操作gif图
具体的效果就是对于微信小游戏和小程序来说,不能直接地使用动态 Gif 图片,一张 Gif 图片在小游戏或小程序中是不会动的。所以在我们公司的游戏开发中,需要一张将整个 Gif 动图的每一帧拆出来的图片拼成一张精灵图交给前端,由他们来使用 JS+CSS 的能力动态地循环我们拆帧后的图片,从而形成动图的效果。业务需求就是这么个情况,当然,最后的解决方案也正是使用了 ImageMagick 来实现的。话不多说,我们直接先看代码。参考文献PHP: ImageMagick - Manual https:/原创 2021-10-29 10:25:36 · 628 阅读 · 0 评论 -
PHP项目目录这样设计会更好
参考文献Laravel 程序架构设计思路使用动作类:https://learnku.com/laravel/t/12791如何使用Serviece模式:https://learnku.com/articles/38999如何使用Repository模式:https://learnku.com/articles/39000Controller[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zlkxtj1S-1635401385829)(https://segment原创 2021-10-28 14:10:18 · 229 阅读 · 0 评论 -
laravel中env底层加载和解析原理
前言我们的应用程序几乎都会遇到不同环境需要不同的配置文件,比如最常见的开发环境需要连接开发数据库,生产需要连接生产库。记的自己曾经有个项目的做法是写两个配置文件,然后定义一个常量IS_PRODUCTION,默认是false,然后根据这个常量取配置文件,因为当时不是自动化部署,最闹心的就是每次上线之后还要去线上服务器手动将这个常量的值改为true。终于使用了laravel和自动化部署开发,完美的解决了不同环境加载不同配置文件,再也不用担心环境多配置文件乱的问题了。今天我们先来看看laravel中env的加原创 2021-09-02 18:20:59 · 773 阅读 · 0 评论 -
PHPUnit 单元测试
什么是单元测试单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。在php里边,最小单元可以指一个函数、或者类,需要验证的就是每个函数,每个类的功能与我们预想的一致。单元测试有什么意义可以 减少一些细节错误的发生 ,比如应该报错的情况没有报错,入参、结果是否与需求对应上等。 便于日后修改维护 ,实际工作中存在不少原创 2021-06-02 17:16:52 · 1031 阅读 · 2 评论 -
PHP使用glob()查找文件
大部分PHP函数的函数名从字面上都可以理解其用途,但是当你看到 glob() 的时候,你也许并不知道这是用来做什么的,其实glob()和scandir() 一样,可以用来查找文件,请看下面的用法:// 取得所有的后缀为PHP的文件$files =glob(‘*.php');print_r($files);/* 输出:Array([0] => phptest.php[1] => pi.php[2] => post_output.php[3] => test.p.原创 2021-05-25 10:13:53 · 573 阅读 · 0 评论 -
PHP传递任意数量的函数参数
我们在.NET或者JAVA编程中,一般函数参数个数都是固定的,但是PHP允许你使用任意个数的参数。下面这个示例向你展示了PHP函数的默认参数:// 两个默认参数的函数function foo($arg1 = ”,$arg2 = ”) {echo “arg1:$arg1\n”;echo “arg2:$arg2\n”;}foo(‘hello','world');/* 输出:arg1: helloarg2: world*/foo();/* 输出:arg1:arg2:*/下面这原创 2021-05-25 10:11:43 · 327 阅读 · 0 评论 -
利用Nextcloud搭建私有同步云盘
1. 简介Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。它的客户端覆盖了Windows、Mac、Android、iOS、Linux 等各种平台,也提供了网页端以及 WebDAV接口,所以你几乎可以在各种设备上方便地访问你的云盘。Nextcloud也提供了许多应用安装,包括但不限于Markdown在线编辑、OnlyOffice(需另外部署服务端)、思维导图、日历等,你可以自行转载 2021-01-04 18:21:29 · 1925 阅读 · 0 评论 -
NextCloud 在lnmp下 nginx 的配置
server { listen 80; listen [::]:80; server_name lnmp.org www.lnmp.org; root /home/wwwroot/nextcloud; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; add_header X-Robots-Tag none; add.转载 2020-06-10 10:05:04 · 883 阅读 · 0 评论 -
laravel 中使用的 PDF 扩展包 laravel-dompdf 和 laravel-snappy
这两天项目中需要将HTML页面转换为PDF文件方便打印,我在网上搜了很多资料。先后尝试了laravel-dompdf和laravel-snappy两种扩展包,个人感觉laravel-snappy比较好用。一、使用laravel-dompdf扩展包1、安装扩展包我们通过composer来安装composer require barryvdh/laravel-dompdf2、将S...转载 2020-04-22 14:01:19 · 1738 阅读 · 2 评论 -
经纬度半径距离生成,以及计算位置
社交类 app ,在模拟一些用户位置的时候,可以用此生成位置点<?php/** * 用户的距离以及经纬度随机生成 * * 距离+经纬度+扩展信息 * * @Params Float $lng 经度 * @Params Float $lat 维度 * * 示例:北京=> lng=116.3068600000, lat=39.5838170000 * * 五公...原创 2019-09-05 14:41:34 · 1484 阅读 · 0 评论 -
前后端分离 nginx 的配置
前端 nginx# 添加头部信息proxy_send_timeout 30; # 后端服务器连接超时时间proxy_read_timeout 30; # 后端服务器数据回传时间proxy_connect_timeout 30; # 后端服务器连接的超时时间proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade;...原创 2019-08-30 13:33:29 · 538 阅读 · 0 评论 -
PHP大文件分割上传 PHP分片上传
这篇文章主要为大家详细介绍了PHP大文件分割上传,PHP分片上传,具有一定的参考价值,感兴趣的小伙伴们可以参考一下服务端为什么不能直接传大文件?跟php.ini里面的几个配置有关upload_max_filesize = 2M //PHP最大能接受的文件大小post_max_size = 8M //PHP能收到的最大POST值'memory_limit = 128M //内存上限m...原创 2018-08-01 15:41:52 · 1651 阅读 · 0 评论 -
PHP创建SqlLite数据表并让ID自增
<?phpclass MyDB extends SQLite3{ function __construct() { $this->open('test.db'); }}$db = new MyDB();if(!$db){ echo $db->lastErrorMsg();} else { echo "Opened database successfully\n"原创 2017-05-09 15:21:34 · 1811 阅读 · 0 评论 -
使用PHP自带zlib函数 几行代码实现PHP文件打包下载zip
<?php//获取文件列表function list_dir($dir){ $result = array(); if (is_dir($dir)){ $file_dir = scandir($dir); foreach($file_dir as $file){ if ($file == '.' || $file == '..'){原创 2016-08-12 11:35:12 · 4002 阅读 · 2 评论 -
使用CURL调用接口[*示例*]
<?phpheader("content-type:text/html;charset=utf-8"); /* 这是 使用CURL调用接口 */ $ch = curl_init(); $url = 'http://apis.baidu.com/txapi/weixin/wxhot?num=10&rand=1&word=北京&page=1'; $header = a原创 2016-01-24 20:03:28 · 3656 阅读 · 0 评论 -
通过 iframe 调用 天气预报&jsonp
通过 iframe 调用 天气预报原创 2015-12-24 15:27:06 · 1358 阅读 · 0 评论 -
jquery全选,全不选,反选,获取选择框的值
全选,不全选,反选 1.时间都去哪儿了 2.海阔天空 3.真的爱你 4.不再犹豫 5.光辉岁月 6.喜欢妳 $(document).ready(function(){ //全选或全不选 $("#all").click(function(){ i原创 2015-12-20 20:14:21 · 868 阅读 · 0 评论 -
PHP 依赖注入
出自维基百科Wikipedia:依赖注入是一种允许我们从硬编码的依赖中解耦出来,从而在运行时或者编译时能够修改的软件设计模式。这句解释让依赖注入的概念听起来比它实际要复杂很多。依赖注入通过构造注入,函数调用或者属性的设置来提供组件的依赖关系。就是这么简单。基本概念我们可以用一个简单的例子来说明依赖注入的概念下面的代码中有一个Database的类,它需要一个适配器来与数...原创 2019-08-23 14:54:10 · 369 阅读 · 0 评论 -
laravel实现大数据csv导出
首先说明几点:excel格式的文件最大支持100万的数据,所以不考虑使用excel格式 laravel的toArray()方法有内存泄露,所以大量数据导出不能使用. 当然要使用chunk方法查询数据,然后写到文件中关于toArray()方法内存泄露排查chunk()方法的代码块如下(chunk中按理是不用unset的,会自动释放): $ormQuery->chunk(10...原创 2019-08-23 14:25:38 · 3286 阅读 · 0 评论 -
Laravel 代码开发最佳实践(持续更新)
我们这里要讨论的并不是 Laravel 版的 SOLID 原则(想要了解更多 SOLID 原则细节查看这篇文章)亦或是设计模式,而是 Laravel 实际开发中容易被忽略的最佳实践。内容概览单一职责原则 胖模型,瘦控制器 验证 业务逻辑应该放到服务类 DRY(Don't Repeat Yourself,不要重复造轮子) 优先使用 Eloquent 而不是查询构建器和原生 SQL ...转载 2019-02-20 13:01:02 · 330 阅读 · 0 评论 -
MYSQL一次千万级连表查询优化(一)
概述:交代一下背景,这算是一次项目经验吧,属于公司一个已上线平台的功能,这算是离职人员挖下的坑,随着数据越来越多,原本的SQL查询变得越来越慢,用户体验特别差,因此SQL优化任务交到了我手上。 这个SQL查询关联两个数据表,一个是攻击IP用户表主要是记录IP的信息,如第一次攻击时间,地址,IP等等,一个是IP攻击次数表主要是记录每天IP攻击次数。而需求是获取某天攻击IP信息和次数。(以下SQ...原创 2018-07-30 18:13:38 · 2588 阅读 · 0 评论 -
解决ThinkPHP在nginx下的pathinfo问题即url问题
http://www.thinkphp.cn/code/2195.htmlhttp://www.thinkphp.cn/code/937.html原创 2017-03-08 16:28:42 · 587 阅读 · 0 评论 -
互联网常用API收集
百度车联网API:http://lbsyun.baidu.com/index.php?title=car原创 2016-04-04 21:37:18 · 663 阅读 · 0 评论 -
PHP利用 JSON 将XML转换为数组
在很多开发项目中,我们都会遇到将XML文件转换为数组使用,因此在本篇PHP教程中,UncleToo和大家一起学习如何转换XML为数组。现在有一个uncletoo.xml的配置文件,格式如下:12345678910111213141516原创 2015-12-24 15:46:47 · 2002 阅读 · 0 评论 -
PHP读取XML文件的三种方式
一 用 simplexml_load_file 读取xml文件 <?php $xml_array=simplexml_load_file('person.xml'); //将XML中的数据,读取到数组对象中 foreach($xml_array as $tmp) { echo $tmp->name."-".$tmp->sex."-".$tmp->ol原创 2015-12-24 15:33:23 · 2076 阅读 · 0 评论 -
memcache 安装及操作
一 安装篇1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:/memcached2. 开始→运行→输入cmd回车→输入 ‘c:/memcached/memcached.exe -d install’ 安装3. 再输入: ‘c:/memcached/memcached.exe -d start’ 启动。NOTE: 以后memcached将作原创 2015-12-24 14:05:16 · 1282 阅读 · 0 评论 -
PHP__采集类__Snoopy
Snoopy 目录了解Snoopy.1功能:...1下载Snoopy:...2Snoopy常用功能...21获取指定url内容...22表单提交...23伪装...24伪造更多信息...3经典博客...原创 2015-12-20 17:46:48 · 1092 阅读 · 0 评论 -
实用SQL语句大全
一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'tes原创 2015-12-24 20:55:39 · 458 阅读 · 0 评论 -
经典SQL语句大全
一、基础1、说明:创建数据库CREATE DATABASE database-name 2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwin原创 2015-12-24 21:00:22 · 557 阅读 · 0 评论 -
PHP安全有帮助的一些函数
安全是编程非常重要的一个方面。在任何一种编程语言中,都提供了许多的函数或者模块来确保程序的安全性。在现代网站应用中,经常要获取来自世界各地用户的输入,但是,我们都知道“永远不能相信那些用户输入的数据”。所以在各种的Web开发语言中,都会提供保证用户输入数据安全的函数。今天,我们就来看看,在著名的开源语言PHP中有哪些有用的安全函数。在PHP中,有些很有用的函数开源非常方便的防止原创 2016-03-16 08:30:46 · 378 阅读 · 0 评论 -
sphinx的配置和管理
网上配置文档众多,但是对着他们的文档来做老是出问题,于是花了点时间研究了一下,写成总结,方便以后查阅。也希望学习sphinx的朋友能少走弯路。Coreseek的安装请参考:http://blog.chinaunix.net/uid-20639775-id-3261834.html。一、sphinx的配置1. sphinx配置文件结构介绍Sphinx的配置文件结构如下:Sourc原创 2016-03-05 08:35:00 · 439 阅读 · 0 评论 -
Sphinx 配置文件说明
一. 创建sphinx.conf文件其结构组成主要如下:Source 源名称1{ //指定数据源 一些配置}Index 索引名称1{ Source=源名称1}Source 源名称2{一些配置}Index 索引名称2{ Source=源名称原创 2016-03-05 10:21:35 · 518 阅读 · 0 评论 -
自定义网站的icon和收藏夹图标
定制网站收藏夹图标的方法有两种:第一种方法: 第一步,当然是准备一个能体现您的主页的风格和个性的图标。比较简便的办法除了下载,就是将您的网站的logo做成一个图标。 第二步,将这个图标文件命名为:favicon.ico。 第三步,将favicon.ico上传到您的网站所在的服务器的根目录下。您不需要对您的网页文件作任何的修改,Internet Explorer 5会自原创 2016-02-26 13:29:15 · 1548 阅读 · 0 评论 -
PHP知识大全
--------------------------------------------------------- PHP知识大全---------------------------------------------------------1. 变量如何定义?如何检查变量是否定义?如何删除一个变量?怎样检测变量是否设置? $定原创 2016-03-24 14:23:54 · 1056 阅读 · 0 评论 -
PHP常用正则表达式汇总
1. 平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用: 2. "^\d+$" //非负整数(正整数 + 0) 3. "^[0-9]*[1-9][0-9]*$" //正整数 4. "^((-\d+)|(0+))$" //非正整数(负整数 + 0) 5. "^-[0-9]*[1-9][0-9]*$" //负整数 6. "原创 2016-03-29 08:32:28 · 797 阅读 · 0 评论 -
人群定向SQL表
SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for rc_throng-- ----------------------------DROP TABLE IF EXISTS `rc_throng`;CREATE TABLE `rc_throng` ( `throng_id` i原创 2016-07-22 18:31:27 · 672 阅读 · 0 评论 -
中国省市区--地区SQL表
SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for rc_district-- ----------------------------DROP TABLE IF EXISTS `rc_district`;CREATE TABLE `rc_district` ( `distri原创 2016-07-18 11:50:44 · 27387 阅读 · 7 评论 -
用CMD或者bat修改host文件
第一行代码标识 取消host的只读属性第二行写入attrib -R C:\WINDOWS\system32\drivers\etc\hosts @echo 127.0.0.1 baidu.com >>C:\WINDOWS\system32\drivers\etc\hosts原创 2017-01-22 15:03:31 · 19024 阅读 · 4 评论