Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/10/2011, 07:19
PLC8407
 
Fecha de Ingreso: marzo-2010
Mensajes: 38
Antigüedad: 14 años, 1 mes
Puntos: 0
problema al exportar un xml en php

Estoy trabajando con el framework yii y extJS pero bueno pienso que aqui alguien me pueda ayudar con mi problema.

Quiero aclar que esto me funciona en linux en windows es que me da problema.

En una acttion de mi controladora yo estoy guardando un xml
Código:
$xml =  "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\" ?>\n";
$xml =  $xml."<root>\n";
$xml =  $xml."  <contrato>\n";
$xml =  $xml."    <idsolicitudcredito>".$idsolicitudcredito."</idsolicitudcredito>\n";
$xml =  $xml."  </contrato>\n";
$xml =  $xml."</root>";

$sfile = '/tmp/contrato.xml';
        $fp = fopen($sfile,"w");
		fwrite($fp,$xml);
		fclose($fp);
En windows lo guarde en
$sfile = "C:\contrato.xml";

pero yo tengo una funcion, que despues que guardo el xml, la llamo para que salga una ventana emergente donde el usuario selecciona donde quiere guardar el xml.

Código:
function guardarxmlAction()
	{
		$sfile = '/tmp/contrato.xml';
		header('Content-type: text/xml');
		header('Content-Disposition: attachment; filename="contrato.xml"');
		readfile($sfile);
		unlink($sfile); 
	}
igual en windows puse
$sfile = "C:\contrato.xml";

Eso me funciona perfectamente en linux pero en windows me da

Warning: Cannot modify header information - headers already sent by (output started at D:\work\svnCedrux1.1\apps\finanzas\creditos\admini stracion\controllers\GestcontratoController.php:1) in D:\work\svnCedrux1.1\apps\finanzas\creditos\admini stracion\controllers\GestcontratoController.php on line 1123

Warning: Cannot modify header information - headers already sent by (output started at D:\work\svnCedrux1.1\apps\finanzas\creditos\admini stracion\controllers\GestcontratoController.php:1) in D:\work\svnCedrux1.1\apps\finanzas\creditos\admini stracion\controllers\GestcontratoController.php on line 1124

las lineas 1123 y 1124 son las que tienen los header.