我正在开发涉及PDF API TCPDF的项目。所以我需要一个管理员区域,站点管理员可以上传并安装要与TCPDF一起使用的新字体。 我正在编写一个执行以下操作的脚本: 1)将TTF字体上传到TCPDF fonts / utils /目录。 2)从PHP脚本执行 ttf2afm 并创建.AFM(adobe字体指标)
$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复制并执行此代码的一部分,它运行良好。但是,从网页上看,它根本不起作用......
是否存在一些与许可相关的问题?或者我无法从网页上执行这些命令?
提前致谢
答案 0 :(得分:0)
首先,escapeshellarg使用错误。更好的是:
$command = escapeshellcmd("/usr/bin/ttf2afm")." ".escapeshellarg($fontPath.$fontName)." -o ".escapeshellarg($fontPath.$afmName);
还要确保启用了错误日志记录,以便查看是否存在权限错误。