Nueva pregunta

Pregunta:

Fecha: 21-03-2015 06:05:09 (En Español)

Cron job con webmin[Resuelta]

Duen día amigos
Tengo una pregunta estoy tratando de colocar una imagen en un pdf para luego escribir ciertas comentarios encima de la imagen y ser enviado el pdf por correo . todo esto funciona correctamente si lo ejecuto desde el navegador pero el problema es que necesito que este php se ejecute por medio de un cron job pero a la hora de ejecutar el cron job no se muestra la imagen en el pdf solo funcionan los textos y los css el pdf y envia el correo.. alguien podria ayudarme con este tema.. a continuacion expongo lo que utilizo y pego el codigo...
estoy utilizando webmin 1.710 para la generacion de un cron job
el servidor web esta en centos
para la generacion del pdf utilizo la libreria mpdf
y para enviar el correo la funcion mail de php

gracias por su ayuda

<?php
require_once('librerias/mpdf.php');


$al++;
$html='
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>titulo</title>
<!--<link href="css/flhaha.css" rel="stylesheet" type="text/css">-->
<style type="text/css">

.fecha
	    {
		position: absolute;
		padding-top: 145px; 
		padding-left: 300px;	
		font-family: Arial; 
		font-size: 8pt; 

		}
		
.cod_postal
	    {
	
	       position: absolute;
		padding-top: 145px; 
		padding-left: 550px;	
		font-family: Arial; 
		font-size: 8pt; 

		}

.nombre
	    {
	
	      position: absolute;
		padding-top: 190px; 
		padding-left: 96px;	
		font-family: Arial; 
		font-size: 8pt; 

		}
.rim
	    {
	
	       position: absolute;
		padding-top: 190px; 
		padding-left: 385px;	
		font-family: Arial; 
		font-size: 8pt; 

		}
.tel
	    {
	
	       position: absolute;
		padding-top: 190px; 
		padding-left: 575px;	
		font-family: Arial; 
		font-size: 8pt; 


		}


.direccion
	    {
	
	      	position: absolute;
		padding-top: 209px; 
		padding-left: 96px;	
		font-family: Arial; 
		font-size: 8pt;

		}

.direccion2
	    {
	
	      	position: absolute;
		padding-top: 225px; 
		padding-left: 96px;	
		font-family: Arial; 
		font-size: 8pt;

		}

.mail
	    {
	
	       position: absolute;
		padding-top: 209px; 
		padding-left: 460px;	
		font-family: Arial; 
		font-size: 8pt; 

		}
.inmueble
	    {
	
	       position: absolute;
		padding-top: 243px; 
		padding-left: 330px;		

		}

.ubicacion
	    {
	
	       position: absolute;
		padding-top: 295px; 
		padding-left: 96px;	
		font-family: Arial; 
		font-size: 8pt; 

		}

.cuota
	    {
	
	       position: absolute;
		padding-top: 300px; 
		padding-left: 175px;	
		font-family: Arial; 
		font-size: 8pt; 

		}
.multa
	    {
	
	       position: absolute;
		padding-top: 315px; 
		padding-left: 380px;	
		font-family: Arial; 
		font-size: 8pt; 

		}
.total
	    {
	
	       position: absolute;
		padding-top: 315px; 
		padding-left: 560px;	
		font-family: Arial; 
		font-size: 8pt; 

		}

.nota
	    {
	
	       position: absolute;
		padding-top: 357px; 
		padding-left: 96px;	
		font-family: Arial; 
		font-size: 8pt; 

		}

.inmueble_rec1
	    {
	
	       position: absolute;
		padding-top: 495px; 
		padding-left: 456px;	
	

		}

.vencimiento1
	    {
	
	       position: absolute;
		padding-top: 535px; 
		padding-left: 445px;	
		font-family: Arial; 
		font-size: 8pt; 

		}

.total_banco1
	    {
	
	       position: absolute;
		padding-top: 630px; 
		padding-left: 457px;	
		font-family: Arial; 
		font-size: 8pt;

		}

.inmueble_rec2
	    {
	
	       position: absolute;
		padding-top: 710px; 
		padding-left: 456px;	
	

		}

.vencimiento2
	    {
	
	       position: absolute;
		padding-top: 753px; 
		padding-left: 445px;	
		font-family: Arial; 
		font-size: 8pt; 

		}

.total_banco2
	    {
	
	       position: absolute;
		padding-top: 849px; 
		padding-left: 456px;	
		font-family: Arial; 
		font-size: 8pt;

		}

.corretalivo2
	    {
  font-family: Arial; 
  font-size: 5pt;
 
}
</style>
</head>
<body>
<div class="fecha">
<p>'.date("d/m/Y").'</p>
</div>
<div class="cod_postal">
<p>'.$rss[5].'</p>
</div>
<div class="nombre">
<p>'.$rss[1].'</p>
</div>
<div class="rim">
<p>'.$rss[0].'</p>
</div>
<div class="tel">
<p>'.$rss[2].'</p>
</div>
<div class="direccion">
<p>'.substr("$rss[4]",0,55).'</p>
</div>
<div class="direccion2">
<p>'.substr("$rss[4]",55).'</p>
</div>
<div class="mail">
<p>'.$rss[3].'</p>
</div>
<div class="inmueble">
<h1 style="color:#F00">'.$rss[6].'</h1>
</div>
<div class="ubicacion">
<p>'.$rss[7].'</p>
</div>
<div class="cuota">
<p>'.$rss[8].'</p>
</div>
<div class="multa">
<p>'.$rss[10].'</p>
</div>
<div class="total">
<p>Q.'.$rss[11].'</p>
</div>
<div class="nota">
<p>'.$rss[12].'</p>
</div>
<div class="inmueble_rec1">
<h3 style="color:#F00">'.$rss[6].'</h3>
</div>
<div class="vencimiento1">
<p>'.$rss[13].'</p>
</div>
<div class="total_banco1">
<p>Q.'.$rss[11].'</p>
</div>
<div class="inmueble_rec2">
<h3 style="color:#F00">'.$rss[6].'</h3>
</div>
<div class="vencimiento2">
<p>'.$rss[13].'</p>
</div>
<div class="total_banco2">
<p>Q.'.$rss[11].'</p>
</div>
<div style="position:absolute; left: 18mm; bottom: 41mm; rotate: -90; color:#F00;">
<h3>'.str_pad($al, 8, "0", STR_PAD_LEFT).'</h3>
</div>
<div style="position:absolute; left: 18mm; bottom: 100mm; rotate: -90; color:#F00;">
<h3>'.str_pad($al, 8, "0", STR_PAD_LEFT).'</h3>
</div>
<div style="position:absolute; left: 12mm; bottom: 168mm; rotate: -90; color:#F00;">
<h3>'.str_pad($al, 8, "0", STR_PAD_LEFT).'</h3>
</div>
<div id="bljaIMGte"><!--DIV DE LA IMAGEN-->
<img src="img/IMAGEN.png"/>
<!--<img src="http://crm.scp.gob.gt/pdmes/img/IUSI5.png"/>-->
</div><!--DIV QUE CIERRA LA IMAGEN-->
</body>
</html>
';



$mpdf=new mPDF('', 'Letter');

$mpdf->WriteHTML($html);

$mpdf->CSSselectMedia='mpdf';
$content = $mpdf->Output('', 'S');

$content = chunk_split(base64_encode($content));
$mailto = 'jamolina1812@gmail.com';
//$mailto = 'ammypalomo@gmail.com' . ', ';
//$mailto .= 'mmarroquing@gmail.com' ;
$from_name = 'recordatorio ';
$from_mail = 'correo@correo';
$replyto = 'jamolina1812@gmail.com';
$uid = md5(uniqid(time())); 
$subject = 'recordatorio ';
$message = 'Este mensaje fue generado automaticamente favor no contestarlo.  ';
$filename = 'recordatorio_pago."'.$al.'".pdf';

$header = "From: ".$from_name." <".$from_mail.">\r\n";
$header .= "Reply-To: ".$replyto."\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
$header .= "This is a multi-part message in MIME format.\r\n";
$header .= "--".$uid."\r\n";
$header .= "Content-type:text/plain; charset=iso-8859-1\r\n";
$header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$header .= $message."\r\n\r\n";
$header .= "--".$uid."\r\n";
$header .= "Content-Type: application/pdf; name=\"".$filename."\"\r\n";
$header .= "Content-Transfer-Encoding: base64\r\n";
$header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
$header .= $content."\r\n\r\n";
$header .= "--".$uid."--";
$is_sent = @mail($mailto, $subject, "", $header);
$cont++;



//$mpdf->Output();
exit;

?>
Etiquetas: Cron Jobs - Error - Hosting - PDF - PHP - Pregunta Votos: 0 - Respuestas: 6 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 21-03-2015 06:16:09 Se me ocurre pensar (para una prueba rápida) que no esta encontrando la imagen porque el path es relativo a la ejecución del script, fijate en el atributo src de la etiqueta img, coloca la ruta completa:

    <img src="http://crm.scp.gob.gt/pdmes/img/IUSI5.png"/>


    Prueba esto y luego me cuentas.

    Saludos y buen código!
      Votos: 0 - Link respuesta
     
  • Fecha: 21-03-2015 07:12:53 gracias fernando .. de esa forma no me encuentra la imagen el pdf ni por el navegador ni por el cron job.. no se porque no interpreta la imagen... probe poniendo un php intermedio donde utilice la fucion fopen y por un tiempo funcion perfecto pero hace unos dias me ha estado dando el error siguiente
    Warning: fopen(link ): failed to open stream: Connection timed out in /var/html
    y no envia nada no se si cambio algo en el server...

    gracias..
      Votos: 0 - Link respuesta
     
  • Fecha: 21-03-2015 07:55:34 Intenta cambiando la imagen de png a jpg, ese problema lo he tenido con alguna regularidad, y no he investigado a totalidad que es lo que pasa, pero con imágenes jpg o gif funciona bien esa librería..

    Saludos
      Votos: 0 - Link respuesta
     
  • Fecha: 21-03-2015 11:11:08 muchas gracias faustino pero eso ya lo habia probado y no funciono...   Votos: 0 - Link respuesta
     
  • Fecha: 10-06-2015 04:44:04 Hola Juan Molina, has podido resolver la pregunta? si es así agradecería indiques la pregunta como resuelta y comentes tu solución para futuros usuarios que lean este post.

    Muchas gracias.

    Saludos,
    Fernando
      Votos: 0 - Link respuesta
     
  • Fecha: 10-06-2015 17:00:15 gracias a todos.. el codigo que expongo lo utilice de intermedio entre el cron job y el php que daba problema en la imagen

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "link donde esta pagina que no muestra la imagen.php");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $file = curl_exec($ch);
    curl_close($ch);
    
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com