新浪sae 使用imagettftext总是提示 imagettftext() [function.imagettftext]: Could not find/open font in weather.php on line 64

本地测试没有问题,上传到sae上的时候就会这样报错

代码:

    <?php
    $font1='meteocons.ttf';
    imagettftext($img, 90, 0, 40, 147, $textcolor, $font1, $tq_icon);
    ?>

错误为:

    Warning: imagettftext() [function.imagettftext]: Could not find/open font in weather.php on line 64

stackoverflow上有篇解决这个的提问:http://stackoverflow.com/questions/10366679/warning-imagettftext-function-imagettftext-could-not-find-open-font-in-ho 按照他的方法,前面加/没用,又说Linux下要使用绝对路径,sae上怎么使用绝对路径?

阅读 10.7k
1 个回答
<?php
echo dirname(__FILE__);

看看输出。你可以得到绝对路径。

选用字体文件,的确是需要使用绝对路径。

一般都会有一个类似common.inc.php这样的文件,作用就是公共加载文件,功能就是连接数据库、定义网站在服务器的根目录的绝对路径等。

// /common.inc.php
<?php

define('__PATH__',dirname(__FILE__));

```php // /api/weather.php require_once '../common.inc.php';

$fontfile = PATH.'/font.ttf'; $gd = imagecreatefromgd(); imagettftext ( $gd , $size , $angle , $x , $y , $color , $fontfile , $text )

?> ```

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题