分类目录归档:方向方法

PHPExcel导出文件遇到Emoji导致数据丢失

一个线上老项目导出数据功能出现bug, 采用PHPExcel导出excel文件打开后一半的数据不完整,并且打开的时候Excel提示”发现不可读取的内容”。

一、尝试解决

0、尝试解决一
看起来是内容有问题,导出的时候把数据打印在页面上,发现中文乱码。用之前及其熟悉解决中文乱码问题的2中方法快速测试发现无果。

# 方法一、设置编码
header("Content-type:text/html;charset=utf-8");

# 方法二、加BOM头
$bom = "\xEF\xBB\xBF";
$content .= $bom;

继续阅读

Android和iOS设备保存文件文件名带冒号的问题

0、问题描述
遇到了一个很奇怪的问题,微信发朋友圈,选择相册中的图片,识别不出来,发送提示失败。

图片是通过手机客户端生成后,保存在本地相册的。Android手机有这个问题,iOS没有。

Android保存逻辑:
0.0、传递给客户端的如果是url,客户端会获取url中的文件名,然后保存在本地。
0.1、传递给客户端的如果没有文件名,比如是base64格式的图片,客户端会生成一个文件名。

iOS保存逻辑:
0.2、客户端不管什么情况都会通过md5加密生成文件名,是系统本身的功能。(据说传了文件名对文件名md5, 没传文件名会有系统默认的算法)

继续阅读

定位问题思考

今天遇到了一个线上问题,具体是啥就不细说了。

思考了很久,重新梳理了下解决问题的思路:

0、出了问题,观察分析日志,是基本手段,是大家都知道的。此外,往往我们需要增加一些日志,打印出运行中的参数。观察新增日志的时候,尽量用真实的环境是触发生成日志,并且你的动作跟你的日志要对应起来,而不是模拟请求。比如客户端内H5页面的问题,用PC浏览器去模拟请求。

1、对于偶现的问题,有一定概率是集群中部分机器的问题,不要轻易推给网络,说是网络问题。要跟踪一个请求,从头到尾往下捋,一环一环排除。

PHP高手成长之路

旅游我们要看攻略,打王者我们也需要看攻略,程序开发也离不开攻略。

下面整理了一些16年至17年收藏在备忘录的心法,时不时的就会看一看,希望对你也有帮助。

一个高级PHP工程师所应该具备的【#20160725】

初次接触PHP,就为他的美所折服,于是一发不可收拾。

很多面试,很多人员能力要求都有“PHP高级工程师的字眼”,如果您真心喜欢PHP,并且您刚起步,那么我简单说说一个PHP高级工程师所应该具备的,希望给初级或已经达到中级的PHP工程师一些帮助。
继续阅读