crear una aplicacion en Facebook y subir foto con php


<?php
/**
datos para crear con tu cuenta de facebook  un APP:


Display Name: NOMBREAPLIACION
Namespace: ESPACIODENOMBRE
Correo electrónico de contacto: XXX
App Domains: vacio
Categoría: otra


Selecciona como tu aplicación se intrega con Facebook
Aplicación en Facebook
Canvas Page: http://apps.facebook.com/ESPACIODENOMBRE
Canvas URL:  http://urldetuphp/carpeta/
URL segura de la página principal de la aplicación: https://urldetuphp/carpeta/


*/

// URL de la aplicación
$urlApp = "http://apps.facebook.comESPACIODENOMBRE/";
// ID y Secret ID de la aplicación
$appId = "XXXXXXXXXXX";
$secret = "XXXXXXXXXXXXXXXXXXXXX";
//Llamada al Facebook SDK
include_once "facebook.php";
// Instanciamos el objeto Facebook
$facebook = new Facebook(array('appId' => $appId,
                               'secret' => $secret,
                               'cookie' => true));
// Obtenemos una session
$user = $facebook->getUser();
if (!$user){
// Si el usuario no está autentificado crea una URL para hacerlo.
// Se usa 'scope' para pedir permisos separados por coma.
// Se usa 'redirect_uri' para redireccionar a esa URL despues de la acción del usuario
$loginUrl = $facebook->getLoginUrl(
            array(
                'scope' => 'read_stream,publish_stream,photo_upload,user_photos,user_photo_video_tags',
                'redirect_uri' => $urlApp
            )
    );
echo "<script type=\"text/javascript\">top.location.href = '$loginUrl';</script>";
} else {

 //Le indicamos a facebook que vamos a subir un archivo a su plataforma.
 $facebook->setFileUploadSupport(true);
        //Indicamos que vamos a entrar en la seccion albums del usuario
 $albums = $facebook->api('/me/albums');
 //Navegamos dentro de los albumes para encontrar alguno con nombre 'profile'
$album_uid = "";
        foreach ($albums['data'] as $album) {
       if($album['type'] == 'wall'){//si encontramos algun album con nombre "muro", tomamos su identificador para subir nuestra imagen en este album
                $album_uid = $album['id'];
//echo "wall id ".$album_uid;
            }
        }
if($album_uid == ""){
//echo "no existe el albun ";
/***********************************************/
//SI NO EXISTE EL ALBUN CREAMOS UNO
//Componemos nuestro array con los datos de nuestro album nombre y descripcion.
$album_details = array(
'message'=> 'mi descripcion ',
'name'=> 'albun q yo quiero'
);
//Indicamos a facebook que vamos a crear un album
$create_album = $facebook->api('/me/albums', 'post', $album_details);
//Tomamos el identificador del album creado.
$album_uid = $create_album['id'];
/***********************************************/
}

 //Componemos el array que tendra los datos de nuestra imagen mensaje, nombre, path donde se encuentra la imagen album donde lo vamos a depositar.
        $photo_details = array(
            'message'=> 'Photo message'
        );
        $file = 'fotoesperada.jpg';
        $photo_details['image'] = '@' . realpath($file);
 //Luego de esto enviamos a $facebook los datos de nuestra imagen
        $upload_photo = $facebook->api('/'.$album_uid.'/photos', 'post', $photo_details);
     echo '<a href="http://www.facebook.com/photo.php?fbid='.$upload_photo['id'].'" target="_blank">Mira la foto aqui.</a>';
    // Hasta aquí el usuario tendría que estar autentificado con la aplicación.
   // $yo = $facebook->api('/me');
  //  print_r($yo);
}
?>

Editar PDF con FPDI y FPDP y PHP


Descargar  FPDI con fpdf_ptl de http://www.setasign.de/products/pdf-php-solutions/fpdi/downloads/
y fpdf de http://www.fpdf.org/

Forma de escribir infornacion a raiz de un pdf con estilos e imagenes:::

<?php
include_once 'acceder.php';
require_once('pdf/fpdf.php');
require_once('pdf/fpdi.php');
// initiate FPDI
$pdf = new FPDI();
// add a page
$pdf->AddPage();
// set the sourcefile
$pdf->setSourceFile('certificado.pdf');
// import page 1
$tplIdx = $pdf->importPage(1);
// use the imported page and place it at point 10,10 with a width of 100 mm
$pdf->useTemplate($tplIdx,null,null,null,null,true);
// now write some text above the imported page
$nombre = "Periquito Pin-Pin";
$nombre= strtoupper($nombre);
$nom_count = strlen($nombre);
//formula para cuadrar el nombre en el certificado dependiendo su longitud
if($nom_count>50)
$x = 55;
else{
$nombre_espacio = 60;
if($nom_count<23)
$nombre_espacio = 72;
$x= $nombre_espacio + (66-$nom_count);
}
//////////////////////
$p_general ="";
$p_categoria="";
$n_competencia = "";
$edad="";
$t_liquido="";

/*NOMBRE*/
$pdf->SetFont('Arial','B', 15);
$pdf->SetTextColor(0,0,0);
$pdf->SetXY($x, 98);
$pdf->Write(0, $nombre);

$x=160;
//NOMBRE/
$pdf->SetFont('Arial','', 9);
$pdf->SetTextColor(0,0,0);
$pdf->SetXY($x, 137);
$pdf->Write(0, $p_general);
/*NOMBRE*/
$pdf->SetFont('Arial','', 9);
$pdf->SetTextColor(0,0,0);
$pdf->SetXY($x, 145);
$pdf->Write(0, $p_categoria);
//NOMBRE/
$pdf->SetFont('Arial','', 9);
$pdf->SetTextColor(0,0,0);
$pdf->SetXY($x, 152);
$pdf->Write(0, $n_competencia);
//NOMBRE/
$pdf->SetFont('Arial','', 9);
$pdf->SetTextColor(0,0,0);
$pdf->SetXY($x, 159);
$pdf->Write(0, $edad);
//NOMBRE/
$pdf->SetFont('Arial','', 9);
$pdf->SetTextColor(0,0,0);
$pdf->SetXY($x, 166);
$pdf->Write(0, $t_liquido);

$pdf->Output('diploma2008.pdf', 'D');



CommentFB