Hola, pues respondiendo a las dudas sobre mi código...
1. Sobre el AJAX con el arreglo.
Código PHP:
ajax.open("POST", "../ajax/xevento.php",true);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
Algunos de mis formularios los envío mediante "GET", siempre y cuando la info que viaje no sea demasiada (ya saben, por aquello del límite de tamaño de la cadena) aunque normalmente todos debería ser enviados mediante POST.
En esta caso utilizo el POST y es por eso que la llamada al .php no vá acompañada de ?d1="+todo. Y debajo utilizo la cabecera que indica que estaré enviando un formulario.
Código PHP:
ajax.send("d1="+todo)
Como es por método POST en lugar de enviar un "null" envío la variable que contiene el arreglo, y la respuesta es "Si", del otro lado recibo el arreglo con todos mis datos.
2. Sobre el register_globals y la forma de acceder al FILE.
Pues esa fue una gran sorpresa para mí, y de hecho esa era mi pregunta inicial, ¿como es que si yo recibía todos mis datos en un arreglo que venía con un $_POST iba a tratar a mi archivo con un $_FILE porque mi register_globals está en "off" y no se puede acceder a las variables por el simple nombre sino por el método que fueron recibidas.
0k! Si yo mando imprimir mi arreglo con un print_r($_POST["d1¨]; lo que me imprime es una cadena separando con "," cada variable y viene algo asi mas o menos
2,3,2,3,'2005-11-24','2005-11-25',800,400,2,'C:\tico\doctos\prueba.txt','nada'
Eso ya lo había mandado a imprimir antes de hacer la pregunta. Después entonces intenté pasar los datos uno por uno para así tratar a todos en el .php como $_POST a excepción del archivo, al cual intenté acceder mediante el acostumbrado $_FILES, pero no dió resultado. Después decidí preguntar si esa variable era un archivo con un is_file() para lo cual la respuesta fue "true". Así pues seguí avanzando en mi búsqueda y decidí decirle al programa que si la variable era un archivo, entonces me hiciera una copia en determinada carpeta con el comando copy() (aunque quiero hacer mención que normalmente utilizo un move_uploaded_file() pues me parece haber leído alguna vez que esto es una practica mas recomendable). Bien, pues corrí el programa, el sistema me devolvió una cadena diciendo "el evento ha quedado registrado". Con gran sorpresa revisé mi carpeta y efectivamente había un archivo dentro, mismo que al abrirlo contenía los datos que debía contener.
Ahora, la verdad, que alguien me explique como esto es posible porque mi cabeza es muy cerrada aun para comprender como fué posible simplemente pasar el archivo tomandolo como una simple variable
El caso es que me ha funcionado y por ahora eso me ha sido de gran utilidad pues me permite seguir avanzando en mi trabajo. Pero aquí queda como documentación de lo poco que pueda aportar y en espera de que, como siempre, entre todos, vayamos ayudandonos a obtener un poco de conocimiento.
Saludos!