#php #syntax #gd
#php #синтаксис #gd
Вопрос:
Я работаю над небольшим сайтом, который генерирует изображение с наложенным на него пользовательским вводом текста. Я использовал XAMPP для разработки на своем локальном компьютере, но он не работает на сервере компании. Я проверил, что GD и Freetype установлены правильно, и поддержка PNG включена для GD.
Как ни странно, я получаю ошибку:
Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный ‘[‘ в /buddy.php в строке 15
Код выглядит следующим образом:
<?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)
{
Следующая строка — строка 15
$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);
}
Честно говоря, я понятия не имею, что происходит. Код точно такой же на моем компьютере и на сервере, и он отлично работает на моем компьютере.
Комментарии:
1. Похоже, вам не нравится, что вы ссылаетесь на массив, возвращаемый из функции, в пределах одной строки. Попробуйте присвоить возвращаемый массив из
imagettfbbox
переменной, а затем сослаться на это, т. Е.$myvar[4]
. Возможно, это связано с версией PHP.2. Утканос, это сработало! Спасибо: D Действительно, моя локальная версия 5.5, сервер 5.2