Php imagettfbbox:在测试机中语法正确,而不是在服务器中
我在一个小网站上工作,它生成一个覆盖用户文本输入的图像。 我一直在使用XAMPP在本地机器上开发它,但它在公司的服务器上不起作用。我已经检查了GD和Freetype是否都正确安装,并且GD启用了PNG支持 奇怪的是,我得到的错误是: 分析错误:语法错误,第15行/buddy.php中出现意外的“[” 代码如下:Php imagettfbbox:在测试机中语法正确,而不是在服务器中,php,syntax,gd,Php,Syntax,Gd,我在一个小网站上工作,它生成一个覆盖用户文本输入的图像。 我一直在使用XAMPP在本地机器上开发它,但它在公司的服务器上不起作用。我已经检查了GD和Freetype是否都正确安装,并且GD启用了PNG支持 奇怪的是,我得到的错误是: 分析错误:语法错误,第15行/buddy.php中出现意外的“[” 代码如下: <?php header('Content-type: image/png'); ini_set('display_errors', 'On'); if (isset($_GE
<?php
header('Content-type: image/png');
ini_set('display_errors', 'On');
if (isset($_GET['dataval']))
{
$myText = $_GET['dataval'];
$im = @imagecreatefromjpeg ('assets/images/wig.jpg');
$white = imagecolorallocate($im, 255, 255, 255);
$myText = mb_strtoupper($myText, 'UTF-8');
$font = 'PassingNotes.ttf';
if (strlen($myText) < 24)
{
老实说,我不知道发生了什么。在我的计算机和服务器中,代码完全相同,在我的计算机中运行良好。似乎不喜欢您在一行内引用从函数返回的数组。请尝试将imagettfbbox返回的数组分配给一个变量,然后引用该变量,即$myvar[4]。也许这是一个PHP版本的东西。Utkanos,它成功了!谢谢:D的确,我的本地版本是5.5,服务器是5.2
$textW = imagettfbbox(80, 5, 'PassingNotes.ttf', $myText)[4];
if ($textW >= 680)
{
$myText = SplitInBounds($myText, 80, 680);
error_log('text: '. $myText);
}
imagettftext($im, 80, 5, 230, 380, $white, 'PassingNotes.ttf', $myText);
}