PHP - Subir imagenes PHP

 
Vista:

Subir imagenes PHP

Publicado por iker (2 intervenciones) el 03/03/2020 10:08:16
Buenos días,

El caso es que quiero enviar una imagen a una carpeta en Wampserver y no consigo hacerlo. No se cual es el problema que tengo en el código.¿Me podéis ayudar? Los archivos Index.php y datosImagen.php los tengo en una carpeta llamada IMAGEN_PERFIL dentro de WWW y las imágenes las quiero subir a INTRANET/UPLOADS dentro de WWW. Muchas gracias de antemanao.


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
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
<style>
 
table{
    margin:auto;
    width:450px;
    border:2px dotted #FF0000;
}
</style>
</head>
<body>
 
<form action="datosImagen.php" method="post" enctype="multipart/form-data">
 
<table>
<tr>
<td>
<label for="imagen">Imagen:</label></td>
 
<td><input type="file" name="imagen" size="20"></td></tr>
 
<tr><td colspan="2" style="text-align:center"><input type="submit" value="Enviar Imagen"></td></tr></table>
</form>
</body>
</html>




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
 
        //Recibimos los datos de la imagen
 
        $nombre_imagen=$_FILES['imagen']['name'];
        $tipo_imagen=$_FILES['imagen']['type'];
        $tamagno_imagen=$_FILES['imagen']['size'];
 
        //Ruta de la carpeta destino en servidor
 
        $carpeta_destino=$_SERVER['DOCUMENT_ROOT'].'/intranet/uploads/';
 
 
        //Mover la imagen del directorio temporal al directorio escogido
 
        move_uploaded_file($_FILES['imagen']['tmp_name'],$carpeta_destino.$nombre_imagen);
 
?>
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
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Subir imagenes PHP

Publicado por Julio (830 intervenciones) el 03/03/2020 10:58:31
Hola.

Prueba con este código (adapta el nombre de la carpeta que recibe las imágenes y el tamaño máximo que quieres a tu gusto).

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
<?php
 
$extensiones = array('image/jpg', 'image/jpeg', 'image/png');
$tamanyo_maximo = 1024 * 1024 * 4;
 
$error = $_FILES['archivo']['error'];
 
if ($error === UPLOAD_ERR_OK) {
	if (in_array($_FILES['archivo']['type'], $extensiones)) {
		if ($_FILES['archivo']['size'] <= $tamanyo_maximo) {
			$directorio = 'C:/xampp/htdocs/archivos/';
			$archivo_subido = $directorio . basename($_FILES['archivo']['name']);
 
			if (move_uploaded_file($_FILES['archivo']['tmp_name'], $archivo_subido)) {
				echo 'Se ha subido el archivo correctamente';
			} else {
				echo 'Ha ocurrido un error mientras se movía el archivo';
			}
		} else {
			echo 'El archivo excede el tamaño máximo de ' . $tamanyo_maximo . ' bytes';
		}
	} else {
		echo 'La extensión es incorrecta. El archivo no ha podido subirse';
	}
} else {
	if ($error === UPLOAD_ERR_INI_SIZE || $error === UPLOAD_ERR_FORM_SIZE) {
		echo 'El tamaño del archivo sobrepasa el máximo permitido';
	} elseif ($error === UPLOAD_ERR_PARTIAL || $error === UPLOAD_ERR_NO_FILE) {
		echo 'El archivo no ha podido subirse correctamente';
	} elseif ($error === UPLOAD_ERR_NO_TMP_DIR) {
		echo 'No existe la carpeta temporal, contacta con el proveedor del hosting';
	} elseif ($error === UPLOAD_ERR_CANT_WRITE || $error === UPLOAD_ERR_EXTENSION) {
		echo 'Ha ocurrido un error durante la subida del archivo';
	}
}
 
?>

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Subir imagenes PHP

Publicado por iker (2 intervenciones) el 03/03/2020 11:11:50
Me ha funcionado, muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar