PHP 检测文件编码的不完美解决方案

因为某些原因现在需要批量检测文件编码,看看是不是有非 UTF-8 文件混在其中 我当然是首选了我最熟悉的 PHP,感觉应该很简单 google 搜索 php detect encoding,第一个就是 PHP 官方文档 mb_detect_encoding – Manual – PHP 于是按照文档有样学样,拿个 UTF-8 文件测试一下 echo mb_detect_en

百万级xlsx表格导入数据库的实现方案

需求是这样的,供应商给到一份 xlsx 表格(144MB),里面刚好有 100w 行数据(11列)。我需要把它们稍作处理后写入到 mysql 数据库 项目基于 Laravel,既然需要稍作处理,那我首先想到的就是找一个能读 xlsx 的 composer 包 我尝试过最知名的PhpSpreadsheet、对 Laravel 友好的 Laravel-Excel。然而不管是顺序读还是分块读,尝试各种方

基于PHP 的 CloudXNS DDNS 客户端

简介 基于php的CloudXNS DDNS客户端 可以看作是 CloudXNS-DDNS-with-PowerShell 的php版本,实现思路也是借鉴于这个项目的 开发这个php版本是因为我使用上述脚本时莫名报错,而且似乎还找不到原因 本着“一个轮子解决不了的问题就再造个轮子来解决”的码农精神,本项目诞生了 使用说明 首先需要你本地安装好php且可以执行php程序 开源地址:https://g

TP5.1不继承控制器基类的情况下实例化视图

手头的项目有个需求是在命令行下渲染模板并返回html源码,以便进一步处理 但是TP5.0里的 $view = \think\View::instance() 在5.1里面被砍掉了,而且命令行下无法继承控制器基类。那要怎么办呢? 我通过阅读源码解决了这个问题,分享一下: use think\Container; // 省略其他代码… $app = Container::get(‘app’); $vi

绕过微信爬取猩便利特价信息并推送到微信

前言 公司里又多了一个无人货架——就是前阵子新闻说融资好几亿的猩便利 我是搞不太懂这玩意儿怎么突然火起来而且能骗到那么多融资的,按理说这玩意儿应该没啥盈利能力啊。虽然货架成本低廉,但需要每天人工四处给货架补货,零售价也就普通小卖部水平,也不向企业收取租金之类的,还有商品被偷取的风险。总体来说感觉每包零食赚的那几毛、几块并不足以承担补货员每天跑的成本以及商品被偷取、损坏的风险 感觉和现今的共享单车行

Yii2-GridView添加导出功能

首先我们需要用Composer安装一个导出组件:kartik-v/yii2-export 这个组件依赖一个PDF导出组件kartik-v/yii2-mpdf,100多M,所以安装可能很慢,需要耐心等候 不过新版本好像默认不依赖此PDF组件了 安装完毕后,打开config/web.php,给$config变量添加一个成员: ‘modules’ => [ ‘gridview’ => [ ‘

浅谈PHP中打开文件(fopen)的一些坑

准备自己实现一个基于文件的简单缓存类,用于一些小外包项目。原本只是打算按照特定的JSON格式进行存储,然后用很方便的两个函数 file_get_content 和 file_put_content 进行读写 后来想给缓存类加个自增/减的方法,用来做简单的统计之类。如果考虑到瞬间并发情况,为了防止两个请求互相干扰,就必须得上文件锁了 首先是设置缓存,这个没啥难度: 首先一个$h = fopen($p

Composer使用笔记

这年头搞PHP开发的要是跟人说不会用Composer都丢人啊 然而我也只是停留在“能用”的层面上,很多命令还是得边查边用 所以汇总一下,省事儿,用多了就能背下来了 安装Composer 自己看吧,不再赘述 配置Github-token 首先你得有个Github账号,然后进入这里,生成一个Personal access tokens,很简单,把描述填一下、啥都不用勾选默认就行。然后把生成的一串tok

Yii2-GridView自定义活动列ActionColumn

本文同时收录于 超能小紫的Yii2学习笔记 用gii生成的CRUD非常方便,index视图自带的数据列表也很强大,最右侧默认还带有 查看详情、修改 和 删除 三大功能按钮 但是这三个按钮不一定够用。例如我们做文章列表时,可能还会需要 显示(发布)、隐藏(作为草稿) 之类的按钮,这时候我们就需要自定义活动列了 准备工作 首先我们跟着命名空间(yii\grid\ActionColumn)到 vendo