Como Subir Archivo a tu Servidor Web con HTML y PHP
1. Crea el archivo PHP con el nombre de tu preferencia.
2. Despues de crear el archivo, procederemos a editarlo, para ello lo primero que haremos es crear la estructura de html5 y crear un formulario donde enviaremos la informacion al correo destino.
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Enviar archivo</title>
</head>
<body>
<!-- Formulario para subir archivo -->
<form action="" method="post" enctype="multipart/form-data">
<label for="file">Selecciona un archivo:</label>
<!-- Botón para enviar el formulario y subir archivo -->
<input type="submit" value="Subir Archivo" name="submit">
</form>
</body>
</html>
3. Ahora agregaremos codigo php fuera de la estructura html, este lo puedes poner abajo de toda la estructura de html o arriba.
<?php
// Verifica si el formulario fue enviado mediante el método POST
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// Directorio donde se guardará el archivo subido
$direccion = "archivos/";
// Ruta completa del archivo que se subirá
$ruta = $direccion . basename($_FILES["file"]["name"]);
// Extensión del archivo en minúsculas
$extencion = strtolower(pathinfo($ruta, PATHINFO_EXTENSION));
// Validar el tipo de archivo (solo pdf, txt, xlsx)
$extension_valida = ['pdf', 'txt', 'xlsx'];
if (!in_array($extencion, $extension_valida)) {
echo "Solo se permiten archivos pdf, txt y xlsx.";
}
// Validar el tamaño del archivo (máximo 5MB)
elseif ($_FILES["file"]["size"] > 5 * 1024 * 1024) {
echo "El archivo es demasiado grande. El límite es de 5MB.";
}
// Si pasa las validaciones, intenta subir el archivo
else {
if (move_uploaded_file($_FILES["file"]["tmp_name"], $ruta)) {
echo "El archivo " . basename($_FILES["file"]["name"]) . " ha sido subido correctamente.";
} else {
echo "Hubo un error al subir el archivo.";
}
}
}
?>
4. En tu servidor web donde crear el archivo php ahora creas una carpeta llamada "archivos" donde se almacenaran los archivos que envies desde tu pagina web.
5. (Opcional) si estas trabajando en un servidor local linux, te recomendamos darle permisos a la carpeta y tambien configurar SELinux para que permita enviar archivos externos a esa carpeta.
6. Ingresa el siguiente comando para ubicarte en la direccion de tu proyecto web.
[root@admin ~] # cd /var/www/html/
7. Una vez ubicado en html o carpeta donde esta tu proyecto ingresa los siguientes comando para darle permisos a la carpeta "archivos".
[root@admin ~] # chmod 755 archivos/
[root@admin ~] # chown apache:apache archivos/
8. Por ultimo agrega el comando par dar permiso a ingresar archivos externos a la carpeta con SELinux.
[root@admin ~] # chcon -R -t httpd_sys_rw_content_t archivos/
Descargar proyecto Tutorial youtube