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
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


0