- 在Windows上使用imagettftext给图片添加文字,生成的图片中是有文字的,然后把代码放到服务器上,发现生成的图片上没有文字,只是图片,,很奇怪,不知什么原因。上网查了很久。。
- 第一点:PHP扩展需要开启gd库,并且需要支持freetype等,如下图
- 第二点:有些字体是Windows特有的,Linux上没有。字体文件font不存在的话,自然也就不能在图片上添加文字。如果Linux上没有字体,可以下载放到Linux上。通过xftp上传。
- 第三点:就是我遇到的问题,导致服务器上生成的图片没有文字,先看之前Windows的路径
/home/wwwroot/default/fortune/fontssimfang.ttf Linux上正确的路径写法是 /home/wwwroot/default/fortune/fonts/simfang.ttf
在Windows上测试,图片是有文字的。只要放到服务器上就没有文字。后来发现问题了,因为这个路径写错了。 在Windows表示目录,Linux上不是目录,需要把 改成 / 在Linux 上才能正确找到字体文件。粗心大意浪费了几个小时的时间。