PHP - Problema foto en la base de datos

 
Vista:
sin imagen de perfil
Val: 10
Ha aumentado su posición en 16 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema foto en la base de datos

Publicado por Unai (4 intervenciones) el 06/07/2020 19:28:26
Buenas tardes,

Quiero subir una foto a una base de datos para utilizar la foto como una foto de perfil. Con el código que uso las fotos se suben correctamente si tienen la extensión y el tamaño correcto que les pido. El caso es que cuando una imagen es .CR2( extensión de las cámaras canon) no la detecta como una extensión diferente y por ello no sale el error por pantalla. ¿Alguien sabe el motivo de ello?

Muchas gracias

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
 
include 'conexion.php';
 
 
$nombre_imagen=$_FILES['imagen']['name'];
$extensiones = array("image/jpg", "image/jpeg", "image/png");
$tamanyo_maximo = 1024 * 768;
$tamanyo_minimo = 100 * 100;
$tipo = $_FILES['imagen']['type'];
$error = $_FILES['imagen']['error'];
 
 
// Array de errores
	$errores = array();
 
 
if ($error === UPLOAD_ERR_OK) {
 
	if (in_array($_FILES['imagen']['type'], $extensiones)) {
		if ($_FILES['imagen']['size'] <= $tamanyo_maximo) {
			if ($_FILES['imagen']['size'] >= $tamanyo_minimo) {
 
 
			$directorio = 'C:/wamp64/www/intranet/';
			$archivo_subido = $directorio . basename($_FILES['imagen']['name']);
 
 
 
		$usuario = $_SESSION['usuario'];
 
 
		$sql=("UPDATE usuarios SET FOTO='$nombre_imagen' WHERE cod_usuario =".$usuario['cod_usuario']);
 
 
		$resultado=mysqli_query($db, $sql);
 
 
 
 
			if (move_uploaded_file($_FILES['imagen']['tmp_name'], $archivo_subido)) {
					"Se ha subido el imagen correctamente";
			} else {
				echo $errores['imagen'] = "<p class='error'>*Ha ocurrido un error al subir la imagen, intentelo más tarde</p>";
			}
 
					}else{
 
						echo $errores['imagen'] = "<p class='error'>*El tamaño mínimo del archivo es de 100*100  </p>";
 
 
					}
 
 
		} else {
			echo $errores['imagen'] = "<p class='error'>*El tamaño máximo del archivo es de 1024x768</p>";
 
		}
	} else {
		echo $errores['imagen'] = "<p class='error'>*La extensión es incorrecta. El archivo no ha podido subirse. </p>";
 
	}
 
} else {
	if ($error === UPLOAD_ERR_INI_SIZE || $error === UPLOAD_ERR_FORM_SIZE) {
		echo $errores['imagen'] = "<p class='error'>El tamaño del archivo sobrepasa el máximo permitido</p>";
	} elseif ($error === UPLOAD_ERR_PARTIAL || $error === UPLOAD_ERR_NO_FILE) {
		echo $errores['imagen'] = "<p class='error'>El archivo no ha podido subirse correctamente</p>";
	} elseif ($error === UPLOAD_ERR_NO_TMP_DIR) {
		echo $errores['imagen'] = "<p class='error'>Error</p>";
	} elseif ($error === UPLOAD_ERR_CANT_WRITE || $error === UPLOAD_ERR_EXTENSION) {
		echo $errores['imagen'] = "<p class='error'>Ha ocurrido un error durante la subida del archivo</p>";
	}
}
 
 
if(count($errores) == 0){
		$actualizado=true;
		$_SESSION['completado'] = "<p class='correcto'>¡LOS DATOS SE HAN ACTUALIZADO CORRECTAMENTE!</p>";
}else {
		$_SESSION['errores'] = $errores;
	}
header('Location: editarPerfil.php');
 
 
 
 
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder