2012-04-28 1 views
7
<?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."") 
?> 

Bene Sto usando questo codice php di presentare una domanda facebook. Ho caricato il font Arial.ttf nella directory principale del mio sito web. Ma sto ancora mostrando l'errore: Warning: imagettftext() [function.imagettftext]: Could not find/open font in /home/a2424901/public_html/index.php on line 35. Ho provato a cambiare il caso, ma non ho funzionato per me. Dove sono andato storto in questo codice?Attenzione: imagettftext() [function.imagettftext]: Impossibile trovare/font aperto in /home/a2424901/public_html/index.php sulla linea 35

risposta

22

From the docs

A seconda di quale versione della libreria PHP GD sta utilizzando, quando fontfile non inizia con un primo piano/poi .ttf verrà aggiunto il nome del file e la libreria tenterà di cercare quel nomefile lungo un percorso di carattere definito dalla libreria.

Questo sembra implicare che la fontfile dovrebbe essere un percorso assoluto, e se non lo è, la funzione aggiunge un'altra .ttf sull'estremità di esso.

Specificare il percorso completo del file di font.

$font = "/home/a2424901/public_html/Arial.ttf"; 

o omettere la .ttf e utilizzare il GDFONTPATH. The documentation raccomanda quanto segue:

In molti casi in cui un tipo di carattere risiede nella stessa directory dello script usando il seguente trucco allevierà qualsiasi includono problemi.

putenv('GDFONTPATH=' . realpath('.')); 
$font = "Arial"; 
0

se si utilizza pChart utilizzare questo:

$myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11)); 
3

Per aggiungere alla risposta di user2724960; Cambiare il FontName su __DIR__ . '/graph/fonts/someFont.ttf' lo ha fatto per me.

linea completa:

$myPicture->setFontProperties(array("FontName"=>__DIR__ . '/graph/fonts/someFont.ttf',"FontSize"=>14)); 

Non ha dimenticato di sostituire "someFont" con il nome del file di font (default: "Forgotte")

+0

funziona, grazie. Pensavo fosse un problema di autorizzazione, ma non lo è. – arjunaaji

-4

prega di verificare la cartella dei font in risorse.

+1

Questo dovrebbe essere un commento, non una risposta. – Tay2510

0

Ho avuto lo stesso problema. Il mio nome del font era

Titr.TTF

e ho cambiato in

Titr.ttf

e la sua ha funzionato perfettamente.