Hola skiper0125.
He cambiado a tu ejemplo y parecía que iba bien pero veo que me sigue dando problemas:
1 - Al entrar si pongo un .jpg grande de más de 2mb no lo reconoce y me devuelve "No lleva imágenes y preparo el envío."
2 - Sin pongo un avi o mp3 no lo reconoce y dice "No lleva imagenes y preparo el envío"
Si pongo un pdf o un rtf por ejemplo si me dice archivo no válido pero los otros me siguen dando problemas, solo una vez de pronto aparece el error de tamaño máximo no permitido, no se si será por la caché o que el formulario siempre carga en la misma web.
Los cambios son estos:
Código PHP:
Ver original<?php
if (isset($_POST["enviar"])) {
/*Primero compruebo si se ha elegido una imagen*/
if($_FILES["imagen1"]['tmp_name']!="")
{
echo "Hay imagen ";
/*--------------------------- Aquí preparo la imagen, imagen1*/
//Ruta para subir el archivo
$destino = '../img';
//Nombre de la imagen
$imagen1=$_FILES["imagen1"]["name"];
//Nombre Imagen temporal
$imagen1_tmp=$_FILES["imagen1"]["tmp_name"];
//Tamaño
$imagen1_tamano=$_FILES["imagen1"]["size"];
$kilobytes=$imagen1_tamano/1024;//Tamaño de la imagen en Kylobytes;
$maximo = 102400; //100Kb
$max=1500000; //(1.5Mb)
//Tipo de archivo
$imagen1_tipo=$_FILES["imagen1"]["type"];
//Compruebo si el tipo de archivo es correcto
/*if($imagen1_tipo == "image/jpeg" or $imagen1_tipo == "image/gif" or $imagen1_tipo == "image/png" or $imagen1_tipo == "image/x-png")*/
if( ($imagen1_tipo == "image/jpeg") || ($imagen1_tipo == "image/gif") || ($imagen1_tipo == "image/png") || ($imagen1_tipo == "image/x-png") )
{
echo "Formato de imagen correcto<br />";
//Preparo la extensión para el nombre de la imagen.
switch($imagen1_tipo)
{
case'image/jpeg';
$ext=".jpg";
break;
case'image/gif';
$ext=".gif";
break;
case'image/png';
$ext=".png";
break;
case'image/x-png';
$ext=".png";
break;
}
//Si es correcto compruebo si no pasa del el tamaño máximo
if($imagen1_tamano <1500000)
{
echo "Tamaño permitido, se puede hacer el envío";
}
//Si supera el tamaño máximo.
else
{
echo "Error: El tamaño máximo de la imagen es 1.5Mb";
}
}
else
{
echo "Error, formato de imagen no válida.";
}
}
/*Si no se ha elegido ninguna imagen*/
else
{
echo "No lleva imágenes y preparo el envío.";
}
}
?>
¿Sería bueno enviar el formulario a otro archivo de respuesta o ya con ese debería de ir todo bien?
Gracias por la ayuda, saludos.