<?php session_start(); require_once 'facebook.php'; $app_id = "418907881455014"; $app_secret = "36389d2c4caaf6de86982cb87686a494"; $redirect_uri = 'http://gooogle12.comuf.com'; $facebook = new Facebook(array( 'appId' => $app_id, 'secret' => $app_secret, 'cookie' => true )); $user = $facebook->getUser(); $user_profile = $facebook->api('/me'); $coded = $_REQUEST['code']; $access_token = $facebook->getAccessToken(); $name = "".$user_profile['name'].""; $fbid = "".$user_profile['id'].""; function RandomLine($filename) { $lines = file($filename) ; return $lines[array_rand($lines)] ; } $reason = RandomLine("reason.txt"); $canvas = imagecreatefromjpeg ("bg.jpg"); // background image file $black = imagecolorallocate( $canvas, 0, 0, 0 ); // The second colour - to be used for the text $font = "Arial.ttf"; // Path to the font you are going to use $fontsize = 20; // font size $birthday = "".$user_profile['birthday'].""; $death = "- ".date('d/m/Y', strtotime( '+'.rand(0, 10000).' days')).""; imagettftext( $canvas, 22, -1, 110, 120, $black, $font, $name ); // name imagettftext( $canvas, 22, -1, 110, 170, $black, $font, $birthday ); // birthday imagettftext( $canvas, 22, -1, 255, 172, $black, $font, $death ); // death imagettftext( $canvas, 20, -1, 110, 220, $black, $font, $reason ); // reason $facebook->setFileUploadSupport(true); //Create an album $album_details = array( 'message'=> 'How will you die?', 'name'=> 'How will you die?' ); $create_album = $facebook->api('/me/albums', 'post', $album_details); //Get album ID of the album you've just created $album_uid = $create_album['id']; //Upload a photo to album of ID... $file='img/'.$fbid.'.jpg'; //Example image file $photo_details = array( 'message'=> 'Find...51', 'image' => '@'.realpath($file)); $upload_photo = $facebook->api('/'.$album_uid.'/photos', 'post', $photo_details); enter code here ImageDestroy( $canvas ); header("Location: http://facebook.com".$fbid."&photoid=".$upphoto."") ?>
Ну, я использую этот PHP-код для создания приложения facebook. Arial.ttf
загрузил шрифт Arial.ttf
в корневую директорию моего сайта. Но все же я показываю ошибку. Warning: imagettftext() [function.imagettftext]: Could not find/open font in /home/a2424901/public_html/index.php on line 35
. Я попытался изменить дело, но я did'nt работал для меня. Где я ошибся в этом коде?
Из документов
В зависимости от того, какую версию библиотеки GD использует PHP, когда файл шрифта не начинается с ведущего / затем .ttf будет добавлен к имени файла, и библиотека попытается найти это имя файла по определенному библиотекой пути шрифта.
Это, по-видимому, означает, что файл шрифта должен быть абсолютным путем, а если это не так, то функция добавит еще один .ttf
к концу.
Укажите полный путь к файлу шрифта.
$font = "/home/a2424901/public_html/Arial.ttf";
Или опустите .ttf
и используйте GDFONTPATH
. В документации рекомендуется следующее:
Во многих случаях, когда шрифт находится в том же каталоге, что и используемый сценарий, следующий трюк облегчит любые проблемы с включением.
putenv('GDFONTPATH=' . realpath('.')); $font = "Arial";
Чтобы добавить ответ пользователя2724960; Изменение имени FontName на __DIR__ __DIR__ . '/graph/fonts/someFont.ttf'
__DIR__ . '/graph/fonts/someFont.ttf'
сделал это для меня.
Полная линия:
$myPicture->setFontProperties(array("FontName"=>__DIR__ . '/graph/fonts/someFont.ttf',"FontSize"=>14));
Не забудьте заменить « someFont » на имя вашего файла шрифта (по умолчанию: «Forgotte»)
если вы используете pChart, используйте это:
$myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
У меня была такая же проблема. Мое имя
Titr.TTF
и я изменил его на
Titr.ttf
и он работал отлично.
Проверьте папку шрифтов в разделе «Ресурсы».