> Faqs > Función Image() en FPDF

Función Image() en FPDF

Hola, como puedo hacer para pasar la url con una variable para cargar una galeria ?

Ya trate varios modos que conozco pero ninguno funciona.

Este es el basico que muestran, funciona bien.

$pdf->Cell(180,185, $pdf->Image('./imagenes/64.jpg', $pdf->GetX(), $pdf->GetY(),180),1,1);

Y estos los que probe pero siempre da error

$image = "64.jpg";
$pdf->Cell(180,185, $pdf->Image("./imagenes/".$image, $pdf->GetX(), $pdf->GetY(),180),1,1);
$image = "64";
$pdf->Cell(180,185, $pdf->Image("./imagenes/".$image.".jpg", $pdf->GetX(), $pdf->GetY(),180),1,1);
$image = "64";
$pdf->Cell(180,185, $pdf->Image("./imagenes/$image.jpg" $pdf->GetX(), $pdf->GetY(),180),1,1);
$image = "./imagenes/64.jpg";
$pdf->Cell(180,185, $pdf->Image($image, $pdf->GetX(), $pdf->GetY(),180),1,1);

Da error 500.

Dejo el cofigo completo.

<?php

	require('FPDF/fpdf.php');
	header("Content-type: image/jpg");
	
	class PDF extends FPDF
{

function Header()
{

    $this->SetFont('Arial','B',15);

    $this->Cell(20);

    $this->Cell(150,10,'3d Workers Listado',1,0,'C');

    $this->Ln(20);
}


function Footer()
{

    $this->SetY(-15);

    $this->SetFont('Arial','I',8);

    $this->Cell(0,10,'Pagina '.$this->PageNo().'/{nb}',0,0,'C');
}
}

require ('conectar_db.php');

$consulta = "SELECT * FROM fotos";

$resultado = $conn->query($consulta);

while($row = $resultado->fetch_assoc()){
    
    $id  = $row['id'];    
    
    $image ="./imagenes/".$id.".jpg";
    
    $pdf->Cell(180,10, $image, 1, 1, 'C', 0);
    
    $pdf->Cell(180,185, $pdf->Image($image, $pdf->GetX(), $pdf->GetY(),180),1,1);
    $pdf->Cell(45,10, $row['id'], 1, 1, 'C', 0);
    $pdf->AddPage();
    
}
    
    $pdf->Output();

?>	
¿Podrías copiar y pegar el error que te sale? Quizás ayude a entender el problema. Porque a simple vista no se ve lo que pueda pasar. Gracias a tu comentario, mire de vuelta el codigo. Parece que el problema lo tengo cuando concateno. $id = $row['id']; // Esto funciona bien $image ="./imagenes/".$id.".jpg"; // Aca esta el error // Si uso $image ="./imagenes/64.jpg"; // Funciona Gracias a ti por indicar la respuesta. Si por favor la subes como una respuesta, aunque te respondas a ti mismo, sería genial, para que quede bien organizada la FAQ.

Respuestas

Cómo tú mismo indicas en el comentario puede ser un problema de la concatenación.

No obstante, te comento una cosa que no tiene mucho que ver con el error, pero que te ayudará a encontrar los problemas.

Cuando dices "Error 500" en realidad estás diciendo que es un error genérico en el servidor. El problema es que ese error "genérico" no dice nada que permita ayudarte a localizar el problema.

Este tipo de error suele darlo el servidor cuando está ofuscando los errores para que los visitantes no vean el código de la página y la línea del error y esas cosas. Tendrías que configurar tu servidor de desarrollo para que muestre los errores, con la descripción completa. Esto lo puedes hacer como se explica en esta FAQ: Mostrar errores PHP en la página, en vez de error 500.

Miguel Angel
3145 140 209 17

Tengo todo en un servidor contratado.

Solo se programar, la parte de servidores entiendo poco y nada.

Me imaginaba que el error es algo generico.

Pese a eso, si por cambiar variable por ruta funciona. Me da la impresion que el error esta en el interprete.

Espero que asi este correcta la respuesta :)

(me pusieron los puntos mas arriba jajajaja)

Mauro
3 1
Pues te recomiendo crear un entorno de desarrollo en local, para hacer las cosas en tu ordenador, pudiendo ver bien los errores, antes de subirlo en el servidor remoto. Te resultará mucho más sencillo. Mira en el Manual de PHP cómo hacerlo.