php 在 windows 和 linux 上使用imagettftext

  • 在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 上才能正确找到字体文件。粗心大意浪费了几个小时的时间。

原文地址:https://www.cnblogs.com/bneglect/p/12096754.html