0

我正在从事一个涉及 PDF API TCPDF 的项目。所以我需要一个管理员区域,站点管理员可以在其中上传和安装与 TCPDF 一起使用的新字体。我正在编写一个执行以下操作的脚本:1)将 TTF 字体上传到 TCPDF fonts/utils/ 目录。2) 从 PHP 脚本执行ttf2afm并创建 .AFM (adobe font metrics)

$command = escapeshellarg("/usr/bin/ttf2afm $fontPath$fontName -o $fontPath$afmName");
$result = passthru($command);

或者

$command = escapeshellarg("ttf2afm $fontPath$fontName -o $fontPath$afmName");
$result = passthru($command);

3)执行php -f makefont.php font.ttf font.afm,生成需要的font.php和font.z文件。

现在我的问题是,上述命令没有从网页执行。如果我从 php 交互式 shell 复制并执行此代码的一部分,它运行良好。但是,从网页上看,它根本不起作用......

是否存在一些与权限相关的问题?或者我不能从网页执行这样的命令?

提前致谢

4

1 回答 1

0

首先,escapeshellarg 使用错误。更好的是:

$command = escapeshellcmd("/usr/bin/ttf2afm")." ".escapeshellarg($fontPath.$fontName)." -o ".escapeshellarg($fontPath.$afmName);

还要确保启用了错误日志记录,这样您就可以查看是否存在权限错误。

于 2011-06-27T10:13:21.243 回答