Foros del Web » Programando para Internet » PHP »

POST no recibe variables cuando envio con AJAX

Estas en el tema de POST no recibe variables cuando envio con AJAX en el foro de PHP en Foros del Web. Hola, estoy intentando subir unos archivos y todo va bien hasta que intento subir un archivo que pesa casi 500MB el ajax no envia las ...
  #1 (permalink)  
Antiguo 03/07/2013, 12:18
 
Fecha de Ingreso: marzo-2011
Mensajes: 70
Antigüedad: 13 años, 2 meses
Puntos: 2
POST no recibe variables cuando envio con AJAX

Hola, estoy intentando subir unos archivos y todo va bien hasta que intento subir un archivo que pesa casi 500MB el ajax no envia las variables POST, no se que hacer, ya modifique el php.ini tanto el post_max_size, upload_max_filesize, memory_limit.. etc y no funciona, si subo archivo como de 150 si las sube, este es mi codigo en ajax.
Código:
	function uploadAjax(elemento){
	 $("#flash").show();
     $("#flash").fadeIn(400).html('<img src="image/loading.gif" />');
	 
	var inputFileImage = document.getElementById(elemento);
	var nombre=$('#name').val();
	var edo=$('#edo').val();
	var obs=$('#obs').val();
	
	var file = inputFileImage.files[0];

	var data = new FormData();

	data.append(elemento,file);
	data.append('edo', edo);
	data.append('obs', obs);
	data.append('name', nombre);
	data.append('elemento', elemento);


	var url = "data/dataUpload.php";
	
	
		$.ajax({

			url:url,

			type:'POST',

			contentType:false,

			data: data,

			processData:false,

			cache:false,
			
			success: function(result)
			{
				alert(result);
			
			}
			
			});
	}

y pues cuando envio un archivo grande me dice undefinex index, como si no enviara nada, espero que me puedan orientar muchas gracias!!
  #2 (permalink)  
Antiguo 03/07/2013, 12:25
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: POST no recibe variables cuando envio con AJAX

JAJAJA! 500mb!

estas bien loco amigo, me imagino que es un soft cerrado.

El envio de archivos tiene un limite de cantidad de FILES, no se exactamente cual el limite de FILES,, pero intenta enviar los menos posibles,
y la config deberia ser asi:
post_max_size:600mb
upload_max_filesize:600


te recoemiendo no mates al PHP con esto, tratà de poner un limite de cantidad de files y de tamaño
no es lo mas normal lo que haces
  #3 (permalink)  
Antiguo 03/07/2013, 12:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: POST no recibe variables cuando envio con AJAX

¿Estás haciendo las pruebas localmente?

Porque dejame decirte que así no se suben archivos, si te funciona localmente es porque estás pasando la ruta del archivo elegido, no la información binaria del archivo.

Me gustaría ver como es tu script que recibe dichos datos, para verificar si usas la variable $_FILES como debería ser o solamente te estás engañando tu solo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 03/07/2013, 12:32
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: POST no recibe variables cuando envio con AJAX

Aparte de las variables que menciona el gran Patriarka, deberías cambiar las variables de tiempo para que permita que el script se ejecute durante tanto tiempo:

max_execution_time:200
max_input_time:200
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #5 (permalink)  
Antiguo 03/07/2013, 12:37
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: POST no recibe variables cuando envio con AJAX

igual si sube muchos archivos pesados y encima uno de 500mb estamos bien locos no?
  #6 (permalink)  
Antiguo 03/07/2013, 12:38
 
Fecha de Ingreso: marzo-2011
Mensajes: 70
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: POST no recibe variables cuando envio con AJAX

Esos valores el:
max_execution_time
max_input_time

ya los tengo cambiados y esperan 5 minutos, el codigo que puse es una funcion y por cada file la ejecuta, solo son 3, hay algun limite de memoria del php? segun depende de la configuracion y ya la modifique pero no lo pasa, no solo los $_FILES si no tambien las variables de post normales.

gracias.
  #7 (permalink)  
Antiguo 03/07/2013, 12:40
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: POST no recibe variables cuando envio con AJAX

Cita:
Iniciado por pateketrueke Ver Mensaje
Me gustaría ver como es tu script que recibe dichos datos, para verificar si usas la variable $_FILES como debería ser o solamente te estás engañando tu solo.
Sigo esperando.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 03/07/2013, 12:42
 
Fecha de Ingreso: marzo-2011
Mensajes: 70
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: POST no recibe variables cuando envio con AJAX

si estoy utilizando la variable files porque de hecho eso solamente me pasa con archivos grandes, si subo archivos pequeños como de 200MB si los sube, este es el que los recibe.
Código PHP:
session_start();

require_once 
'../clases/Sql.php';
require_once 
'../clases/Predio.php';
require_once 
'../clases/Extension.php';


$subir= new Predio;

if(isset(
$_POST['elemento'])){
$up=$subir->upFile($_POST['elemento']);
echo 
$up;

if(
$up='correct'){
$nombre=$_POST['name'];
$estado=$_POST['edo'];
$observaciones$_POST['obs'];

$regist= new DatoPredio;

$idData=$regist->getreg($estado$nombre$observaciones); 

if(empty (
$idData)){



    return 
"false";
}
else{
                
$idExt= new Extension;
                
$resultExt=$idExt->getExtension($_POST['elemento']);                
                
$subir->add($idData,$resultExt);
                }

}
}

else{

echo 
"No se puede subir el archivo".$_POST['name'];    ;


y esta es la clase

Código PHP:
public function upFile($nombre)
        {        
            
$this->_nombre=$nombre;

            
$this->_archivo $_FILES[$this->_nombre]['name'];
            
$tipo_archivo $_FILES[$this->_nombre]['type'];
            
$tamano_archivo $_FILES[$this->_nombre]['size'];
            
$tmp_archivo $_FILES[$this->_nombre]['tmp_name'];
        

            
$archivador '../' .$this->_nombre.'/'$this->_archivo;
            

        
                
                    if (!
move_uploaded_file($tmp_archivo$archivador)) 
                        {
                            return
'false.'.$_FILES[$this->_nombre['ERROR'];
                        }
                                                
                    else
                        {
                            return 
'Archivo s'$_FILES[$this->_nombre]['name']. ' Subieron correctamente';
                        }
                        
                        
                        
    
        } 
  #9 (permalink)  
Antiguo 03/07/2013, 13:43
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: POST no recibe variables cuando envio con AJAX

Está todo bien, el problema es el peso, prueba a poner esto antes del script:

Código PHP:
Ver original
  1. ini_set('post_max_size','600M');
  2. ini_set('upload_max_filesize','600M');
  3. ini_set('max_execution_time','1000');
  4. ini_set('max_input_time','1000');
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #10 (permalink)  
Antiguo 03/07/2013, 13:57
 
Fecha de Ingreso: marzo-2011
Mensajes: 70
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: POST no recibe variables cuando envio con AJAX

Pues ya modifique el php.ini no se si es exagerado pero le puse estos valores

post_max_size:1024M
upload_max_filesize:1024M
max_execution_time: 300
max_input_time:300

esos valores estan directo en el php.ini o los tengo que modificar? desde las paginas php?

pero la verdad es qeu no creo que sea eso, tengo un ejemplo de hace un tiempo donde subo archivos y probe con el que pesa 500m y lo sube sin ningun problema, tendra que ver algo el formdata();?
  #11 (permalink)  
Antiguo 04/07/2013, 09:44
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: POST no recibe variables cuando envio con AJAX

reiniciaste el servidor despues de modificar el php.ini ¿???
  #12 (permalink)  
Antiguo 04/07/2013, 18:48
 
Fecha de Ingreso: marzo-2011
Mensajes: 70
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: POST no recibe variables cuando envio con AJAX

si, si lo reinicie, saludos.

Etiquetas: ajax, html, post, variables
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 16:28.