Tengo un problema muy extraño que llevo ya horas y no logro resolver. Tengo esta funcion incluída en un fichero "procesa.php" que me genera un Excel a partir de un array, es tal que así:
Código PHP:
Ver originalfunction generaExcel($resultado, $nombre, $destino) {
$PHPExcel = new PHPExcel();
$PHPExcel->getProperties()->setTitle($nombre); //Título del Excel
$campo_excel = 1;
$letra = 'A';
#Imprimo los títulos
foreach($resultado as $filas) {
#Código
}
function tipo_string($columna, $tipo_string) {
#código
}
#Imprimo los campos
foreach($resultado AS $filas) {
#código
}
#Ajusto ancho de las columnas al texto
for ($col = 'A'; $col != $letra; $col++) {
$PHPExcel->getActiveSheet()->getColumnDimension($col)->setAutoSize(true);
}
$fecha = DATE('d-m-Y H.i');
//Excel 2003
$PHPExcel = PHPExcel_IOFactory::createWriter($PHPExcel, 'Excel5');
//Creamos el Archivo
$PHPExcel->save("$destino/$nombre.xls");
}
Al copiar y pegar se pierden las tabulaciones y queda raro.
Luego dentro de procesa.php tengo 2 includes con 2 ficheros que hacen operaciones diferentes para obtener un array con los datos y al final cada uno de ellos hace un generaExcel($resultado, $nombre, $destino).
Si los pongo por separado no hay problema, como ponga los dos me da un error de que no se puede redeclarar la funcion $tipo_string. La cual fue declarada al inicio de procesar.php sólo se carga una vez! no entiendo por qué dice que no se puede redeclarar.
He probado cambiando el nombre de la funcion para que no coincida con el nombre de la variable y me sigue dando el mismo error. Aquí un esbozo de procesa.php:
Código PHP:
Ver original#procesa.php
require_once('./generaExcel.php');
require_once('./procesa1php'); //Incluye una llamada a generaExcel
require_once('./procesa2php'); //Incluye una llamada a generaExcel
Me da el citado error. No se puede redeclarar la función (se declara en generaExcel.php)!!!
Alguna idea? es para volverse loco