标签 php 下的文章

项目中有个功能需求,对部分图像的浏览做鉴权。未授权前能粗略分辨照片但又要保证原图不被下载保护私隐。虽然一行CSS也可能做到模糊效果,但这种处理手法手略懂前端知识的人可以轻易绕过。所以比较慎重的做法还是后端先对图像预先处理。

把需求进一步简单推理概括的话,就是给图像加上马赛克或做模糊处理。脑子里有个2个比较相似方案。

方案1. 对图像加工(缩小)成仅满足前端显示需要的尺寸,对全图加马赛克处理;
方案2. 对图像加工成更小(大约60x60)的小缩略图,在前端做拉伸覆盖显示,像素在浏览器端拉扯成马赛克(我还真是个逻辑鬼才)

原图(blog做了resize):

org.jpg

方案一加马赛克:

DSC02514.1.JPG

方案二缩小成图标大小再拉伸平铺

构思初步成型,顺便也来比较一下两种做法的处理效率。


- 阅读剩余部分 -

少量中文通过GET方式传参,到了PHP端解码出现乱码或内容丢失。
原因及解决办法

url参数会对 编码字串内的 + 号解释为空格,所以在 decode 之前做一下逆操作就可以解决。

$str_b64 = $_GET["msg"]; //base64编码的字符串
$str_b64 = str_replace(" ","+",$str_b64);
$str_raw = base64_decode($str_b64); //解码

最近摸索前端canvas画布和后端图像加工相关的一些功能。写了个练手程序,为了让前端(js控制css)预览的体验与后端php图像处理一致。总结了几点经验。

先上成品,表情包生成器:
https://gen8.orz.com.cn/mymeme
QQ截图20191227142153.png

img11.jpg

*此文并非系统且科普的教学,讲述的内容基于我个人备忘比较跳跃和零散。

目标:

  1. 用户上传模板图
  2. 在图上画出一个录入文字的涂鸦区域(定义尺寸、位置、文字大小、角度),并可以预览效果
  3. 保存成方案,之后可以打开与分享这个方案。把输入的文字(段子)合成到图片上
  4. 根据涂鸦区域的大小与文字的多与少,一定范围内自动调节文字的大小(未做更换字体、颜色)

这几个目标遇到问题较多的是预览前端的涂鸦区预览 与 后端生成图片的一致性。



- 阅读剩余部分 -

Okay长话短说。实际上有点标题党,因为最终的解决方啊并非直接用纯PHP实现了旧版word文件的处理。
由于时间已经不早了,为了争取续命睡眠的时间,我会在项目做的差不多之后在回顾之时补完这篇日志。

需求背景

由于甲方的一些客观条件约束。有一大批原始素材内容是旧版word格式(.doc) 。希望能直接从固定格式的文档内提取和整理内容导入数据库。
服务端环境为linux

备选方案

  1. PHP自身的扩展 php_com_dotnet.dll
  2. PHP的第三方插件PHPWord
  3. PHP调用服务器的第三方程序antiword
  4. 和上一个解决方案类似,后端用Python 跑一个服务监听待处理word文档队列,异步处理。

在可行性研究阶段目前已经否决了前3种方案,正在用第四种方法迂回实现需求。



- 阅读剩余部分 -

续较早前一篇,给某网站应用加上了域访问认证

【nginx/apache】远古技术:增加网站访问密码(auth_basic)

密码加上了之后为安全起见总得定期更新,遇到特殊情况还需要紧急更改密码。
如果都得在服务器端命令行的方式修改的话,对运维人员的依赖太高了

想着能不能把这项工作也下放给运营管理来做。哦,找到了个合适的东西

https://github.com/ozanhazer/PHP-Htpasswd

使用也非常简单,支持添加用户、删除用户、更新密码


- 阅读剩余部分 -