Foros del Web » Programando para Internet » PHP »

file_get_contents

Estas en el tema de file_get_contents en el foro de PHP en Foros del Web. hello. Estoy tratando de exportar una tabla HTML a un pdf con DOMPDF. El problema es que a pesar de que el html aunque sea ...
  #1 (permalink)  
Antiguo 30/08/2011, 12:49
Avatar de n_n
n_n
 
Fecha de Ingreso: noviembre-2009
Mensajes: 50
Antigüedad: 15 años
Puntos: 1
file_get_contents

hello.
Estoy tratando de exportar una tabla HTML a un pdf con DOMPDF.
El problema es que a pesar de que el html aunque sea pequeño, (tamaño, caracteres) el
Código PHP:
file_get_contents() 
se cuelga, y no creo que sea cuento de tamaño, pq otras paginas más grnades las toma super bien...

tendrá ue ver el jhecho de que cargo la pág en loclahost??

por ej:

Código PHP:
$pdffile_get_contents('http://localhost/xxxxxxxxx/Usuarios_Registrados.php?export=pdf'); 
La pag php, no tiene ninguna contraseña ni nada. Si pego la Url en el borwser carga en cero segundos, pero al aplicarla función del file_get_contents(), me marca la mayor parte del tiempo:

Código HTML:
Warning: file_get_contents([url]http://localhost/xxxxxxx/Usuarios_Registradossmry.php?export=pdf/[/url]) [function.file-get-contents]: failed to open stream: HTTP request failed! in C:\xampp\htdocs\xxxxx\pdf.php on line 5



Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\xxxxxxx\pdf.php on line 5

El código que deseo capturar para entregarselo a DOMPDF es más o menos esto:

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<title>Usuarios registrados</title>
<meta name="generator" content="PHP Report Maker v4.0.0.0" />
</head>
<body class="yui-skin-sam">

<br /><br />
<!-- summary report starts -->
<div id="report_summary">
<table class="ewGrid" cellspacing="0"><tr>
	<td class="ewGridContent">
<!-- Report Grid (Begin) -->
<div class="ewGridMiddlePanel">
<table class="ewTable ewTableSeparate" cellspacing="0">
	<thead>
	<tr>
<td class="ewTableHeader">
	<table cellspacing="0" class="ewTableHeaderBtn"><tr>
		<td style="vertical-align: bottom;">Tipo de usuario</td>
	</tr></table>
</td>
<td class="ewTableHeader">
	<table cellspacing="0" class="ewTableHeaderBtn"><tr>
		<td style="vertical-align: bottom;">ID usuario</td>
	</tr></table>
</td>
<td class="ewTableHeader">
	<table cellspacing="0" class="ewTableHeaderBtn"><tr>
		<td style="vertical-align: bottom;">Nombre </td>
	</tr></table>
</td>
<td class="ewTableHeader">
	<table cellspacing="0" class="ewTableHeaderBtn"><tr>
		<td style="vertical-align: bottom;">Empleado </td>
	</tr></table>
</td>
	</tr>
	</thead>
	<tbody>
	<tr>
		<td class="ewTableRow">
<div>Agricultor</div>
</td>
		<td class="ewTableRow">
<div>xxx</div>
</td>
		<td class="ewTableRow">
<div>nombres nombres nombres</div>
</td>
		<td class="ewTableRow">
<div>&nbsp;</div>
</td>
	</tr>
	<tr>
		<td class="ewTableAltRow">
<div>Agricultor</div>
</td>
		<td class="ewTableAltRow">
<div>xxx</div>
</td>
		<td class="ewTableAltRow">
<div>nombres nombres nombres</div>
</td>
		<td class="ewTableAltRow">
<div>&nbsp;</div>
</td>
	</tr>
	<tr>
		<td class="ewTableRow">
<div>Agricultor</div>
</td>
		<td class="ewTableRow">
<div>xxxx</div>
</td>
		<td class="ewTableRow">
<div>nombres</div>
</td>
		<td class="ewTableRow">
<div>&nbsp;</div>
</td>
	</tr>
	</tbody>
	<tfoot>
	<!-- tr><td colspan="4"><span class="phpreportmaker">&nbsp;<br /></span></td></tr -->
	<tr class="ewRptGrandSummary"><td colspan="4">Total (109 Registros)</td></tr>
	</tfoot>
</table>
</div>
</td></tr></table>
</div>
<!-- Summary Report Ends --> 
Una simple tabla.
Porque sucede?
  #2 (permalink)  
Antiguo 30/08/2011, 13:23
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: file_get_contents

Si estás usando la ruta por http para que el pdf.php te entregue el resultado de un proceso, primero haz la prueba de hacer la llamada normal (por url en tu navegador) de dicho script para asegurar que funciona correctamente y te entrega el html.
  #3 (permalink)  
Antiguo 30/08/2011, 13:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: file_get_contents

El mismo error te lo dice, no pudo hacer el request HTTP, es probable que al hacer la conexión aunque sea tu servidor local, tengas un Firewall que esta bloqueando el puerto 80, y es por eso que no se puede comunicar de esa forma.

Saludos.
  #4 (permalink)  
Antiguo 30/08/2011, 13:48
Avatar de n_n
n_n
 
Fecha de Ingreso: noviembre-2009
Mensajes: 50
Antigüedad: 15 años
Puntos: 1
Mensaje Respuesta: file_get_contents

Si el escript es sencillo, y funciona bien cuando lo escribo en la barra de dirección del browser. Puedo probar cualquier pagina y la genera bien el html de esta.

Código PHP:
<?php include "../dompdf/dompdf_config.inc.php"?>

<?php
$pdf
=file_get_contents('http://127.0.0.1/xxxx/Usuarios_Registrados.php?export=pdf
/'
);

//$pdf=file_get_contents('http://www.google.com');
//$pdf=file_get_contents('http://www.forosdelweb.com');

        
$dompdf = new DOMPDF();
    
$dompdf->load_html($pdf);
    
$dompdf->render();
       
$dompdf->stream("Pdf.pdf");

//Si quiero cargar la página solo hago un echo
//echo $pdf;
El problema es el html que puse arriba. no se pq se cuelga...
?>
  #5 (permalink)  
Antiguo 30/08/2011, 14:53
Avatar de Smolky  
Fecha de Ingreso: mayo-2006
Ubicación: Cartagena
Mensajes: 177
Antigüedad: 18 años, 6 meses
Puntos: 14
Respuesta: file_get_contents

¿Es posible que la página contenga algún elemento que DOMPDF no sepa renderizar? Es decir, entiendo que el file_get_contents funciona y que puedes obtener el código HTML generado, pero no pasarlo a PDF ¿Cierto?

Si es así, lo que yo haría es modificar el HTML, dejarlo sin hojas de estilo y sin elementos tales como style="vertical-align: bottom; y comprobar que así si que funcione.


Un saludo
__________________
No hay cuerda desafinada sino músico progresivo
  #6 (permalink)  
Antiguo 30/08/2011, 15:15
Avatar de n_n
n_n
 
Fecha de Ingreso: noviembre-2009
Mensajes: 50
Antigüedad: 15 años
Puntos: 1
Respuesta: file_get_contents

Cita:
Iniciado por GatorV Ver Mensaje
El mismo error te lo dice, no pudo hacer el request HTTP, es probable que al hacer la conexión aunque sea tu servidor local, tengas un Firewall que esta bloqueando el puerto 80, y es por eso que no se puede comunicar de esa forma.

Saludos.
Gracias, al parecer era eso...desactive firewall de windows, desactive antivirus y ahora funciona perfecto...
Pero me surgio otro problema, creo otro tema para mantener orden...

Etiquetas: html, registro, tabla, usuarios
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 21:31.