Foros del Web » Programando para Internet » PHP »

Detener script a tiempo

Estas en el tema de Detener script a tiempo en el foro de PHP en Foros del Web. Saludos a tod@s, tengo un problema que no logro resolver. Tengo un formulario de contacto desde el que los usuarios pueden enviar archivos, sin embargo ...
  #1 (permalink)  
Antiguo 30/10/2012, 11:46
Avatar de ricardo_tu  
Fecha de Ingreso: noviembre-2010
Ubicación: Mas aca del mas alla
Mensajes: 222
Antigüedad: 13 años, 5 meses
Puntos: 32
Detener script a tiempo

Saludos a tod@s, tengo un problema que no logro resolver.
Tengo un formulario de contacto desde el que los usuarios pueden enviar archivos, sin embargo no logro detener el script y direccionar a una pagina que indique error si se intenta cargar un archivo mayor a 2Megas.
Según yo el código de a continuación debería funcionar, pero no lo consigo.
Código PHP:
$archivoad $_POST['archivo1']
      {
if (
$archivoad["size"] > 199999000) die ( header("Location: http://www.google.cl"));

Desde ya agradezco sus aportes.
__________________
La ciencia al poder. Pazciencia ya viene
  #2 (permalink)  
Antiguo 30/10/2012, 11:54
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: Detener script a tiempo

no estoy seguro de si el die puede devolver un header, pero si no es así, podrías hacer un header y luego un exit o return:

header("Location: http://www.google.cl");
exit;

Cuidando desde luego no sacar nada a pantalla antes de dicho header.
  #3 (permalink)  
Antiguo 30/10/2012, 11:58
Avatar de ricardo_tu  
Fecha de Ingreso: noviembre-2010
Ubicación: Mas aca del mas alla
Mensajes: 222
Antigüedad: 13 años, 5 meses
Puntos: 32
Respuesta: Detener script a tiempo

gracias ocp001a, lo pruebo y comento.
__________________
La ciencia al poder. Pazciencia ya viene
  #4 (permalink)  
Antiguo 30/10/2012, 11:58
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: Detener script a tiempo

con el die se termina el script y solo el header no detiene el script asi que la opción indicada es como indica ocp001a usa un exit(); para terminar el script
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #5 (permalink)  
Antiguo 30/10/2012, 12:00
Avatar de ricardo_tu  
Fecha de Ingreso: noviembre-2010
Ubicación: Mas aca del mas alla
Mensajes: 222
Antigüedad: 13 años, 5 meses
Puntos: 32
Respuesta: Detener script a tiempo

Muchas gracias eits
__________________
La ciencia al poder. Pazciencia ya viene
  #6 (permalink)  
Antiguo 30/10/2012, 12:02
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Detener script a tiempo

Hola que tal.

Recuerda que los archivos no se tratan como variables normales, debes de utilizar $_FILES para poder accesar a sus propiedades, ejemplo

Código PHP:
if ( $_FILES['tu_campo_del_form']['size'] > 10000 )
{
      
header("Location:tu_pagina.php");
}
else
{
     
//Tu código

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #7 (permalink)  
Antiguo 30/10/2012, 12:23
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: Detener script a tiempo

ciertamente lo que dice el amigo skiper0125 los archivos que vienen por campos input file no llegan con el $_POST(lo vi después ), llegan con el $_FILES pero recuerda utilizar el exit(); despues del header para que no procese el resto del script.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #8 (permalink)  
Antiguo 30/10/2012, 22:18
Avatar de ricardo_tu  
Fecha de Ingreso: noviembre-2010
Ubicación: Mas aca del mas alla
Mensajes: 222
Antigüedad: 13 años, 5 meses
Puntos: 32
Respuesta: Detener script a tiempo

Agradezco el tiempo que se han tomado para responderme, sin embargo no he logrado detener el script

Código PHP:
 if ( $_FILES['archivo1']['size'] > 199999 

      
header("Location:errorarch.php"); exit;

function 
form_mail($sPara$sNombre$sTexto$sDe)

__________________
La ciencia al poder. Pazciencia ya viene
  #9 (permalink)  
Antiguo 31/10/2012, 00:47
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Detener script a tiempo

No hay forma de detener el script, porque comenzará a ejecutarse hasta que el formulario sea recibido por completo, con campos y archivos, no antes, a menos que uses un poco de Javascript y/o Flash; hay varias opciones que también te permiten poner una barra de progreso, pero, con sólo PHP no se puede.
__________________
- León, Guanajuato
- GV-Foto
  #10 (permalink)  
Antiguo 31/10/2012, 20:46
Avatar de ricardo_tu  
Fecha de Ingreso: noviembre-2010
Ubicación: Mas aca del mas alla
Mensajes: 222
Antigüedad: 13 años, 5 meses
Puntos: 32
Respuesta: Detener script a tiempo

gracias Gurú!!!!
__________________
La ciencia al poder. Pazciencia ya viene

Etiquetas: detener, formulario, usuarios
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 20:59.