Ver Mensaje Individual
  #7 (permalink)  
Antiguo 29/09/2008, 23:23
Avatar de jam1138
jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: upload imagen

Cita:
Iniciado por eurodoblon Ver Mensaje
He seguido tu consejo leyendo FAQS, pero no encontre nada al respecto.
.... detente un poco más: http://www.forosdelweb.com/f18/indice-faqs-php-108208/

3. Que diferencias hay entre usar para pasar variables de un script a otro: $variable_nombre, $HTTP_xxx_VARS['variable_nombre'], $_XXX['variable_nombre'].
12. ¿Cómo puedo subir archivos a través de un formulario?

Cita:
Iniciado por eurodoblon Ver Mensaje
Si tienes un minuto, por favor dime donde está el problema
Claro .

Estás haciendo una validación (edito código pero conservo la lógica):
Código PHP:
// Asignas valores a las variables
$tipo_archivo $_FILES["logo"]["type"];
$tamano_archivo $_FILES["logo"]["size"];

// Y haces tu validación.
if (!((strpos($tipo_archivo"gif")|| strpos($tipo_archivo"png") || strpos($tipo_archivo"jpeg")) && ($tamano_archivo 50000)))
{
    
$fotomal"* Error: La imagen o sobrepasa el tamaño de 50 Kb o no es jpg, png, gif";

Según tu validación, se mostrará el mensaje de error (entrará en el bloque) cuando:
- La variable $tipo_archivo NO contenga alguno de los textos "gif", "png" o "jpeg"
- Y además $tamano_archivo sea menor de 50000

¿Qué sucede cuándo no se envió el archivo? ambas variables tienen valores nulos (están vacias) por lo que:
- Cumple que $tipo_archivo NO tiene ni "gif", ni "png" ni "jpeg" (porque, de hecho, no tiene nada)
- Y $tamano_archivo es menor de 50000 (nada, osea '0', es menor que cualquier valor positivo)

¿Resultado? ... ¡Eh ahí el error! . Tienes un problema de lógica, no estás considerando esta situación donde no se envió el archivo y las variables están vacías. Entonces tu validación tendría que considerarlo y mostrar el mensaje solo cuando:
- $tamano_archivo NO este vacío (o $tipo_archivo ... o ambas ... pero con una debería bastar; sugiero el tamaño del archivo).
- Y la variable $tipo_archivo NO contenga alguno de los textos "gif", "png" o "jpeg"
- Y además $tamano_archivo sea menor de 50000

Para esa agregar esa condición faltante te puedes valer de la función empty() que mencioné anteriormente ...

Claro, eso siguiendo tu metodología y solo para que lo entendieses, la verdad es que deberías hacer uso de la función is_uploaded_file() como lo muestra la FAQ ... así, una vez más, te aconsejo darle una mirada.

Espero haberme explicado y aclarado la duda. Suerte
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"