DELETE - ES6 - API FETCH ENVIAR UN ARCHIVO ADJUNTO CON NOMBRE Y APELLIDO DELETE MYSQL PDO PHP
ES6 - API fetch enviar un
archivo adjunto con nombre y apellido delete mysql pdo php
Para eliminar un
archivo adjunto con nombre y apellido utilizando fetch en ES6 y luego
eliminarlo de una base de datos MySQL mediante PDO en PHP, necesitarás enviar
el nombre del archivo al servidor para que puedas eliminarlo de la carpeta
correspondiente. Luego, puedes enviar la solicitud fetch con el nombre del
archivo en el cuerpo de la solicitud.
Aquí hay un ejemplo
de cómo podrías hacerlo:
javascript
Copy code
const idInput = document.querySelector('#id');
const firstNameInput =
document.querySelector('#first-name');
const lastNameInput = document.querySelector('#last-name');
const fileInput =
document.querySelector('#file-input');
const deleteButton =
document.querySelector('#delete-button');
deleteButton.addEventListener('click', () => {
const id =
idInput.value;
const
firstName = firstNameInput.value;
const lastName
= lastNameInput.value;
const file =
fileInput.value;
fetch('/delete.php', {
method:
'POST',
headers: {
'Content-Type': 'application/json'
},
body:
JSON.stringify({
id: id,
firstName:
firstName,
lastName:
lastName,
file: file
})
})
.then(response
=> {
if
(!response.ok) {
throw new
Error('Network response was not ok');
}
return
response.json();
})
.then(data
=> {
console.log(data);
})
.catch(error
=> {
console.error('There
was an error deleting the file:', error);
});
});
En el ejemplo
anterior, se obtienen los valores de los campos de ID, nombre y apellido y del
archivo de entrada. Se envía una solicitud fetch con el método POST, el tipo de
contenido "application/json" y un cuerpo de solicitud que contiene el
ID, nombre y apellido y el nombre del archivo. La respuesta de la solicitud se
convierte a JSON utilizando el método json, y se imprime en la consola. Si hay
algún error al enviar la solicitud, se maneja en el bloque catch.
En la página PHP
delete.php, puedes utilizar PDO para conectarte a la base de datos y eliminar
la fila correspondiente y luego eliminar el archivo de la carpeta
correspondiente. Aquí hay un ejemplo de cómo podrías hacerlo:
php
Copy code
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";
try {
$conn = new
PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$id =
$_POST['id'];
$file =
$_POST['file'];
$stmt =
$conn->prepare("DELETE FROM myTable WHERE id = :id");
$stmt->bindParam(':id', $id);
$stmt->execute();
unlink("uploads/" . $file);
$result =
array('success' => true);
echo json_encode($result);
}
catch(PDOException $e) {
$result =
array('success' => false, 'error' => $e->getMessage());
echo json_encode($result);
}
$conn = null;
En
el ejemplo anterior, se obtienen los valores del ID y el nombre del archivo del
cuerpo de la solicitud. Se utiliza PDO para conectarse a la base de datos y
eliminar la fila correspondiente. Luego, se utiliza la función unlink de PHP
para eliminar el archivo de la carpeta correspondiente. Finalmente, se crea un
objeto de respuesta que indica si la eliminación se realizó con éxito o no, y
se imprime en formato JSON. Si hay algún error al conectarse a la
Comentarios
Publicar un comentario