Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/12/2013, 08:16
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 18 años, 10 meses
Puntos: 2658
Respuesta: Warning: getimagesize(): Filename cannot be empty

Tu problema es que no dominas programación, siendo decirlo de ese modo, pero ese es el error.
Tu estás validando al principio, pero se te escapa que PHP es un lenguaje lineal, que ejecuta de arriba abajo, y si no lo haces cancelar la ejecución, luego de ese IF seguirá con la primera linea subsiguiente, que es precisamente la que plantea el problema.
Al menos deberías contener todo lo que sigue dentro de un ELSE, y no dejarlo librado a la ejecución.
¿No te parece?

Código PHP:
// Selección de la foto:
if (empty($_FILES['foto']['name'])) {
    
$error = true;
    
$mensaje[] = ('Por favor, seleccione una foto para enviar.');
}
else{
// Formato de la foto:
// Peso de la foto:
$peso_permitido = 1000000;
$formato = getimagesize($_FILES['foto']['tmp_name']);
if (
$formato['mime'] != 'image/jpeg') {
    
$error = true;
    
$mensaje[] = ('Sólo se pueden enviar fotos en formato JPG.');
}
elseif (
$_FILES['foto']['size'] > $peso_permitido) {
    
$error = true;
    
$mensaje[] = ('No puede enviar fotos mayores a ' . ceil($peso_permitido / 1024) . ' MB.');
}
else{
//El resto del proceso
}
} 
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)