PHP的一些tips

解决使用html的table下载excel的格式问题

我们后台一般使用table的html,直接修改mime类型为:

1
Content-type: application/vnd.ms-excel

但是,excel在解析的时候,会遇到将长数字转换成科学计数法的问题,且溢出后尾数为0等。

这里,我们只需要简单的在td标签增加一些style即可。如

1
<td style="vnd.ms-excel.numberformat:@">20180917144623254615</td>

常见的excel的style如下:

1
2
3
4
5
1) 文本:vnd.ms-excel.numberformat:@ 
2) 日期:vnd.ms-excel.numberformat:yyyy/mm/dd
3) 数字:vnd.ms-excel.numberformat:#,##0.00
4) 货币:vnd.ms-excel.numberformat:¥#,##0.00
5) 百分比:vnd.ms-excel.numberformat: #0.00%

curl下支持多种POST请求

在我们和外部系统交互时,会遇到POST格式不正确导致对方无法获取数据等问题。

我们知道,PHP的curlPOST的格式为:

1
Content-type: application/x-www-form-urlencoded`

所以,我们需要显示指定请求HEAD,来进行数据的传输。

  • curl传文件
1
2
3
4
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: multipart/form-data;charset=UTF-8',
)
);
  • json格式
1
2
3
4
5
6
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data)
)
);
`