新浪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上怎么使用绝对路径?

sina-app-engine php

joehee 10 years, 10 months ago

 <?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 )

?> ```

遗忘的雷扎德 answered 10 years, 10 months ago

Your Answer