三分快乐,七纷幸福 发布的文章

今天打开编辑器,创建一个.php文件,发现文件被自动标注忽略,使用git status查询文件提示没有任何更新,一开始以为是编辑器设置的文件忽略,查看phpstorm设置,发现没有任何忽略设置,于是先用命令强制添加追踪

git add -f 目录名称

然后从网上查找,找到一篇文章,是需要查看是不是全局.gitignore_global文件内设置忽略了src

cat ~/.gitignore_global
一看吓一跳,发现所有的php都被忽略了,不知道什么时候操作的 --!,于是修改文件,重新提交测试,ok了

参考链接:https://www.cnblogs.com/huangczh/p/18247033

mac升级系统后,MAMP PRO 打开就报错:Either you did not provide the necessary admin credentials or the MAMP PRO package could not be initialized correctly. You can either restart the application and try again or re-install the software.
需要执行一下操作:
打开终端,执行

sudo launchctl load -w /Library/LaunchDaemons/de.appsolute.mampprohelper.plist 

背景:
今天遇到一个问题,上传中文名称的文件,无法获取中文名称,但是数字和字符串命名的文件能正常上传,服务器为docker镜像部署的服务器,本地切换普通mamp环境,文件上传正常,通过chartGPT进行相关问题搜索,发现是因为编码问题导致的
处理:
在DockerFile中,新增以下参数

ENV LANG=C.UTF-8
ENV LANGUAGE=C.UTF-8
ENV LC_ALL=C.UTF-8

修改完重新构建镜像包,问题解决

如果中间件请求接口返回是数据流时,这时没法直接将数据流直接输出到响应体的data中,需要在中间件中直接将文件下载下来

代码如下:

$response = HttpUtil::request($urlInfo, $paramsData, $method, $header, $returnBody);//文件流
$header = [
   'Content-Type'        => 'application/octet-stream',
   'Content-Disposition' => 'attachment; filename="' . rawurlencode('反馈列表.xlsx') . '"',
];
return response($response)->withHeaders($header);

备注:文件名如果涉及到中文,需要转义以后可以,否则下载文件名称乱码
附:urlencode和rawurlencode区别
urlencode:是一种将字符串进行编码的函数,主要用于将字符串转换为 URL 编码格式。它将字符串中的特殊字符(如空格、中文等)转换为%加上字符的 ASCII 码十六进制表示形式。这种编码方式在将数据作为 URL 的一部分进行传递时非常有用,比如在GET请求的查询字符串中。
rawurlencode:同样是用于 URL 编码的函数。它的主要目的也是对字符串进行编码,使其能够安全地用于 URL 中。与urlencode不同的是,它在编码时遵循 RFC 3986 标准,对于一些字符的编码方式更为严格和规范。