<?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."")
?>
Eh bien, j'utilise ce code php pour créer une application facebook. J'ai téléchargé la police Arial.ttf
dans le répertoire racine de mon site Web. Mais je montre toujours l'erreur Warning: imagettftext() [function.imagettftext]: Could not find/open font in /home/a2424901/public_html/index.php on line 35
. J'ai essayé de changer l'affaire, mais je n'ai pas travaillé pour moi. Où je me suis trompé dans ce code?
En fonction de la version de la bibliothèque Gd utilisée par PHP, lorsque le fichier font ne commence pas par un interligne /, le fichier .ttf sera ajouté au nom du fichier et la bibliothèque tentera de le rechercher dans une bibliothèque. chemin de police défini.
Cela semble impliquer que le fichier de police doit être un chemin absolu, et si ce n'est pas le cas, la fonction ajoutera un autre .ttf
à la fin de celui-ci.
Spécifiez le chemin complet du fichier de police.
$font = "/home/a2424901/public_html/Arial.ttf";
Ou omettez le .ttf
et utilisez la GDFONTPATH
. La documentation recommande ce qui suit:
Dans de nombreux cas, lorsqu'une police réside dans le même répertoire que le script qui l'utilise, l'astuce suivante atténuera les problèmes d'inclusion.
putenv('GDFONTPATH=' . realpath('.'));
$font = "Arial";
Pour ajouter à la réponse de user2724960: Changer le FontName en __DIR__ . '/graph/fonts/someFont.ttf'
l'a fait pour moi.
Ligne complète:
$myPicture->setFontProperties(array("FontName"=>__DIR__ . '/graph/fonts/someFont.ttf',"FontSize"=>14));
N'oubliez pas de remplacer " someFont " par le nom de votre fichier de police (par défaut: "Forgotte")
Ma solution (fonctionne pour moi):
realpath('here/is/right/path/to/font.ttf');
si vous utilisez pChart, utilisez ceci:
$myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
J'ai eu le même problème. Mon nom de police était
Titr.TTF
et je l'ai changé pour
Titr.ttf
et sa a fonctionné parfaitement.