Foros del Web » Programando para Internet » PHP »

If imagen dentro de FPDF

Estas en el tema de If imagen dentro de FPDF en el foro de PHP en Foros del Web. Buenas, tengo un código para extraer un PDF con FPDF, en este código también extraigo la ruta de imágenes para el PDF, el problema lo ...
  #1 (permalink)  
Antiguo 03/10/2016, 08:30
 
Fecha de Ingreso: abril-2016
Mensajes: 90
Antigüedad: 8 años
Puntos: 1
If imagen dentro de FPDF

Buenas, tengo un código para extraer un PDF con FPDF, en este código también extraigo la ruta de imágenes para el PDF, el problema lo tengo cuando alguna de estas imágenes no existe, mi duda es como puedo poner un IF else para si la imagen existe la seleccione y sino seleccione una determinada, ejemplo "no imagen.JPG".

algo como esto
Código PHP:
if($image1 "http://localhost/mi1/registros2/vistas/imagenes/"$productos2['Fotos']==0){
$pdf->Cell3218$pdf->Image($image1.$noimagen,$pdf->GetX(), $pdf->GetY(), 32,18), 11'L'false );


}
else
{
$pdf->Cell3218$pdf->Image($image1.$productos2['Fotos'], $pdf->GetX(), $pdf->GetY(), 32,18), 11'L'false );


}; 
Mi código actual es este, y salvo por ese problema funciona correctamente

Código PHP:
$productos mysql_query("SELECT * FROM articulos WHERE Referencia LIKE '$dato%' ORDER BY VtCom DESC ");
$item 0;

while(
$productos2 mysql_fetch_array($productos))

{
    
    
$item $item+1;
    
$pdf->Cell(516$item0);
    
$pdf->Cell(1016$productos2['Cod_Art'], 0);
    
$pdf->Cell(1716$productos2['Referencia'], 0);
    
$pdf->Cell(2416$productos2['Nom_Art'], 0);
    
$pdf->Cell(1516$productos2['Und_Vend'], 0);
    
$pdf->Cell(1216$productos2['Stock_Total'], 0);
    
$pdf->Cell(1416$productos2['Und_Comp'], 0);
    
$pdf->Cell(1016$productos2['PMV'], 0);
    
$pdf->Cell(1316$productos2['Pvta_Art'], 0);
    
$pdf->Cell(1716$productos2['VtCom'], 0);
    
$pdf->Cell(1716$productos2['Vtas_Imp'], 0);
    
$image1 "http://localhost/mi1/registros2/vistas/imagenes/";
    
$pdf->Cell3218$pdf->Image($image1.$productos2['Fotos'], $pdf->GetX(), $pdf->GetY(), 32,18), 11'L'false );

    
$pdf->Ln(8);
}
$pdf->SetFont('Arial''B'8);
$pdf->Cell(104,8,'',0);


$pdf->Output('reporte.pdf','D'); 
El ejemplo que pongo no me funciona, agradezco algo de ayuda
Gracias
  #2 (permalink)  
Antiguo 03/10/2016, 09:00
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: If imagen dentro de FPDF

Puedes utilizar file_exists para determinar si un archivo o directorio existe.

Ejemplo del manual:

Código PHP:
<?php
$nombre_fichero 
'/path/to/foo.txt';

if (
file_exists($nombre_fichero)) {
    echo 
"El fichero $nombre_fichero existe";
} else {
    echo 
"El fichero $nombre_fichero no existe";
}
?>
__________________
Unset($vida['malRollo']);
  #3 (permalink)  
Antiguo 03/10/2016, 09:30
 
Fecha de Ingreso: abril-2016
Mensajes: 90
Antigüedad: 8 años
Puntos: 1
Respuesta: If imagen dentro de FPDF

Gracias, en cuanto pueda lo pruebo
  #4 (permalink)  
Antiguo 05/10/2016, 07:22
 
Fecha de Ingreso: abril-2016
Mensajes: 90
Antigüedad: 8 años
Puntos: 1
Respuesta: If imagen dentro de FPDF

Buenas, si funciona , pero no soy capaz de ponerla para que funcione correctamente,
si la pongo as´:

Código PHP:
if(mysql_num_rows($registro)>0){
    while(
$registro2 mysql_fetch_array($registro)){
        echo 
'<tr>
                            
                            <td>'
.$registro2['Cod_Art'].'</td>
                            <td>'
.$registro2['Referencia'].'</td>
                            <td>'
.$registro2['Nom_Art'].'</td>
                            <td align="center">'
.$registro2['Und_Vend'].'</td>
                            <td align="center">'
.$registro2['Stock_Total'].'</td>
                            <td align="center">'
.$registro2['Und_Comp'].'</td>
                            <td align="center">'
.$registro2['PMV'].'€</td>
                            <td align="center">'
.$registro2['Pvta_Art'].'€</td>
                            <td align="center">'
.$registro2['VtCom'].' %</td>
                            <td align="center">'
.$registro2['Vtas_Imp'].'€</td>'
                            
if (file_exists($registro2['Fotos'])) {
                            echo 
'<td><img src=imagenes'.'/'.$registro2['Fotos'].' border="0" width="150" height="100"></td>';
                            } else {
                            echo 
'El fichero $nombre_fichero no existe';
}
'</tr>'
me devuelve error: unexpected 'if' (T_IF), expecting ',' or ';' en línea 42 , que es donde comienza el IF.

Si lo pongo de esta otra:

Código PHP:
if(mysql_num_rows($registro)>0){
    while(
$registro2 mysql_fetch_array($registro)){
        echo 
'<tr>
                            
                            <td>'
.$registro2['Cod_Art'].'</td>
                            <td>'
.$registro2['Referencia'].'</td>
                            <td>'
.$registro2['Nom_Art'].'</td>
                            <td align="center">'
.$registro2['Und_Vend'].'</td>
                            <td align="center">'
.$registro2['Stock_Total'].'</td>
                            <td align="center">'
.$registro2['Und_Comp'].'</td>
                            <td align="center">'
.$registro2['PMV'].'€</td>
                            <td align="center">'
.$registro2['Pvta_Art'].'€</td>
                            <td align="center">'
.$registro2['VtCom'].' %</td>
                            <td align="center">'
.$registro2['Vtas_Imp'].'€</td>';
                            if (
file_exists($registro2['Fotos'])) {
                            echo 
'<td><img src=imagenes'.'/'.$registro2['Fotos'].' border="0" width="150" height="100"></td>';
                            } else {
                            echo 
'El fichero $nombre_fichero no existe';
}
'</tr>'

me pone para todas las imágenes que no existen , pero fuera del <tr> y luego dentro del <tr> justo lo que está antes del IF.
  #5 (permalink)  
Antiguo 05/10/2016, 10:17
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: If imagen dentro de FPDF

Cita:
me devuelve error: unexpected 'if' (T_IF), expecting ',' or ';' en línea 42 , que es donde comienza el IF.
No puedes poner un condicional dentro de un echo. Eso no es admitido ni es estético.

Cita:
me pone para todas las imágenes que no existen , pero fuera del <tr> y luego dentro del <tr> justo lo que está antes del IF.
Seguramente te es por que no estas especificando la ruta correcta para las imágenes, según se desprende del código de tu primer comentario $registro2['Fotos'] solo retorna el nombre de la imagen.

Construye la ruta completa, por ejemplo con DOCUMENT_ROOT que devuelve el directorio raíz.

Prueba asi.
Código PHP:
// antes del bucle
// no se si esa es tu ruta exacta del directorio de imágenes, si no es así, adecua la ruta.
$raiz_img $_SERVER ['DOCUMENT_ROOT'].'/mi1/registros2/vistas/imagenes/';

// dentro de bucle y fuera del echo.
if ( file_exists($raiz_img.$registro2['Fotos']) ) { 
    echo 
'<td><img src=imagenes'.'/'.$registro2['Fotos'].' border="0" width="150" height="100"></td>'
} else { 
    
// aquí te faltan unos td para no romper la tabla
    
echo '<td>El fichero $nombre_fichero no existe</td>'
}
// aquí otro echo para imprimir el tr
echo '</tr>'
__________________
Unset($vida['malRollo']);

Última edición por xerifandtomas; 05/10/2016 a las 10:27

Etiquetas: fpdf, mysql, registro, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:43.