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:
En windows lo guarde en $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);
$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:
igual en windows pusefunction guardarxmlAction() { $sfile = '/tmp/contrato.xml'; header('Content-type: text/xml'); header('Content-Disposition: attachment; filename="contrato.xml"'); readfile($sfile); unlink($sfile); }
$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.