HOLA.
Soy un programador novato que quiere exponer un problema que no creo muy complicado. Para entenderlo, pido al lector que se dirija a www.redautocarlos.com. Se trata de la aplicación PHP-MySQL que desarrollo y en la cual me he encontrado con un escollo que soy incapaz de superar.
En esta aplicación se muestra un catálogo de automóviles que, algunos de los cuales, muestran una foto (jpg) desde un campo BLOB en MySQL. Desde estas páginas se obtienen fichas en PDF (hechas con la clase FPDF).
El asunto es lograr que en esos PDF se muestre la foto desde el BLOB MySQL.
Mi punto de partida es www.fpdf.org.
Y este enlace http://www.fpdf.org/phorum/read.php?...&t=20067#20072.
Ahí queda el asunto.
Saludos al foro.
El código:
<?php
define('FPDF_FONTPATH','font/');
require('WriteHTML.php');
$serverdb='localhost';
$db='coria';
$user='root';
$passdb='';
/*
$ref=5;
$con=mysql_connect('localhost','root','');
mysql_select_db('coria',$con);
//buscamos el banner a mostrar
$result=mysql_query('SELECT foto FROM autos WHERE ref=".$ref."',$con);
$row=mysql_fetch_array($result);
header('Content-type:'.$row['foto']);
$row['foto'];
$foto=$row['foto'];
*/
$con=mysql_connect('localhost','root','');
mysql_select_db('coria',$con);
$ref=69;
$qry = "SELECT foto FROM autos WHERE ref=$ref";
$res = mysql_query($qry);
$foto = mysql_result($res,$row['foto']);
header("Content-type: $foto");
$foto = ImageCreateFromString($foto);
$temp = 'IMG_'.time().'.jpg';
ImageJPEG($foto,$temp,50);
//Cabecera de página
class PDF extends FPDF
{
function destroyfoto(){
unlink($temp);
ImageDestroy($foto);
}
function Header()
{
//Logo
//$this->Image('logo.JPG',25,15,160);
$this->Image($temp,10,8,240,320);
$this->destroyfoto();
//Arial bold 15 y salto de línea.
$this->Ln(35);
$this->SetFont('Arial','B',15);
//Movernos a la derecha 8 cm
$this->Cell(80);
//Título
$this->Cell(30,10,'DATOS DEL VEHÍCULO',0,2,'C');
}
function Footer()
{
//Go to 1.5 cm from bottom
$this->SetY(-15);
//Select Arial italic 8
$this->SetFont('Arial','I',8);
//Print centered page number
$this->Cell(0,10,'Página '.$this->PageNo(),0,0,'C');
}
function _convert($s) {
if ($this->useiconv)
return iconv($this->from,$this->to,$s);
else
return $s;
}
function _iso2ascii($s) {
$iso="áèïéìíåµòóø¹»úùý¾äëöüÁÈÏÉÌÍÅ¥ÒÓØ©«ÚÙÝ®ÄËÖÜ";
$asc="acdeeillnorstuuyzaeouACDEEILLNORSTUUYZAEOU";
return strtr($s,$iso,$asc);
}
}
$pdf=new PDF();
$pdf->AddPage();
$pdf->SetFont('Times','',18);
//$pdf->Image($temp,10,8);
//$pdf->destroyfoto();
$pdf->SetAuthor('PEPEITOR');
$pdf->SetCreator('FPDF BY PEPEITOR');
$pdf->SetDisplayMode('real');
$pdf->SetKeywords('pepeitor');
$pdf->SetTitle('FICHA PARA CLIENTE');
$pdf->Output($ref." ".$marca." ".$modelo." ".'ficha.pdf','D');
?>