CARPETA UNLINK UPLOADS - ES6 API FETCH FOTO CON NOMBRE Y APELLIDO DELETE MYSQL PDO PHP

 

Para eliminar una foto en una carpeta con nombre y apellido utilizando fetch en ES6 y luego eliminar su nombre en una base de datos MySQL mediante PDO en PHP, puedes enviar una solicitud fetch para eliminar el archivo en la carpeta y luego enviar otra solicitud fetch para eliminar el nombre del archivo en la base de datos.

 

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 deleteButton = document.querySelector('#delete-button');

deleteButton.addEventListener('click', () => {

  const id = idInput.value;

  const firstName = firstNameInput.value;

  const lastName = lastNameInput.value;

 

  fetch(`/delete-photo.php?firstName=${firstName}&lastName=${lastName}`)

  .then(response => {

    if (!response.ok) {

      throw new Error('Network response was not ok');

    }

    return response.json();

  })

  .then(data => {

    console.log(data);

    fetch('/delete.php', {

      method: 'POST',

      headers: {

        'Content-Type': 'application/json'

      },

      body: JSON.stringify({id})

    })

    .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 data:', error);

    });

  })

  .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. Se envía una solicitud fetch a la página PHP delete-photo.php con los valores de nombre y apellido para eliminar el archivo correspondiente en la carpeta. Si la respuesta es exitosa, se imprime en la consola. Se envía una solicitud fetch a la página PHP delete.php con el método POST y el ID como cuerpo de la solicitud para eliminar la fila correspondiente en la base de datos. 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 las solicitudes, se maneja en los bloques catch.

 

En la página PHP delete-photo.php, puedes usar la función unlink() para eliminar el archivo correspondiente en la carpeta con el nombre y apellido especificados. En la página PHP delete.php, puedes usar una consulta preparada PDO para eliminar la fila correspondiente en la tabla de la base de datos.

 

Aquí está el código para la página delete-photo.php:

 

php

Copy code

<?php

 

$firstName = $_GET['firstName'];

$lastName = $_GET['lastName'];

$fileName = "uploads/{$firstName}_{$lastName}.jpg";

 

if (file_exists($fileName)) {

  unlink($fileName);

  echo json_encode(array('message' => 'File deleted.'));

} else {

  echo json_encode(array('message' => 'File not found.'));

}

 

?>

Aquí está el código para la página delete.php:

 

php

Copy code

<?php

 

require_once 'config.php';

 

$id = $_POST['id'];

 

try {

  $sql = "DELETE FROM users WHERE id = :id";

  $stmt = $pdo->prepare($sql);

  $stmt->bindParam(':id', $id);

  $stmt->execute();

  echo json_encode(array('message' => 'Data deleted.'));

} catch (PDOException $e) {

  echo json_encode

 

ES6 API fetch foto con nombre y apellido delete mysql pdo php  carpeta uploads

Para eliminar una foto en una carpeta llamada "uploads" en PHP, MySQL y PDO, y utilizando el API Fetch de ES6 para hacer la solicitud, puedes seguir estos pasos:

 

Crear un archivo PHP que maneje la eliminación de la foto. Supongamos que el archivo se llama "delete_photo.php". Dentro de este archivo, primero se debe verificar que se recibe el nombre y apellido del usuario y la ruta de la foto a eliminar. Luego, se debe conectar a la base de datos y ejecutar una consulta de eliminación que elimine la foto del directorio "uploads" y también elimine cualquier registro en la base de datos relacionado con esa foto. Aquí hay un ejemplo de cómo podría verse el archivo "delete_photo.php":

php

Copy code

<?php

// Verificar que se reciben los parámetros necesarios

if (!isset($_POST['nombre']) || !isset($_POST['apellido']) || !isset($_POST['ruta'])) {

  die("Falta información para eliminar la foto");

}

 

$nombre = $_POST['nombre'];

$apellido = $_POST['apellido'];

$ruta = $_POST['ruta'];

 

// Conectar a la base de datos

$dsn = "mysql:host=nombre_del_servidor;dbname=nombre_de_la_base_de_datos";

$username = "nombre_de_usuario";

$password = "contraseña_del_usuario";

 

try {

  $db = new PDO($dsn, $username, $password);

} catch (PDOException $e) {

  die("Error al conectar a la base de datos: " . $e->getMessage());

}

 

// Eliminar la foto del directorio "uploads"

if (file_exists($ruta)) {

  unlink($ruta);

}

 

// Eliminar cualquier registro en la base de datos relacionado con esa foto

$sql = "DELETE FROM fotos WHERE nombre = :nombre AND apellido = :apellido AND ruta = :ruta";

$stmt = $db->prepare($sql);

$stmt->bindParam(':nombre', $nombre);

$stmt->bindParam(':apellido', $apellido);

$stmt->bindParam(':ruta', $ruta);

$stmt->execute();

 

echo "Foto eliminada correctamente";

?>

En tu archivo JavaScript, puedes utilizar el API Fetch para enviar una solicitud POST a "delete_photo.php" con los parámetros necesarios. Aquí hay un ejemplo de cómo podría verse el código JavaScript:

javascript

Copy code

const nombre = "Juan";

const apellido = "Pérez";

const ruta = "uploads/foto1.jpg";

 

fetch('delete_photo.php', {

  method: 'POST',

  headers: {

    'Content-Type': 'application/x-www-form-urlencoded'

  },

  body: `nombre=${nombre}&apellido=${apellido}&ruta=${ruta}`

})

.then(response => response.text())

.then(data => console.log(data))

.catch(error => console.error(error));

Este código envía una solicitud POST a "delete_photo.php" con los parámetros "nombre", "apellido" y "ruta". El servidor procesa la solicitud y devuelve una respuesta en formato texto. En este caso, simplemente se imprime el texto en la consola del navegador.

 

Recuerda cambiar los valores de las variables "nombre", "apellido" y "ruta" en el código JavaScript para que coincidan con los valores que quieres eliminar. Además, asegúrate de que el archivo "delete_photo.php" se encuentre en el mismo directorio que el archivo JavaScript y que los permisos de la carpeta "uploads" permitan la eliminación de archivos.

 

 

 

 

ES6 API fetch foto con nombre y apellido delete mysql pdo php  carpeta uploads json

Para eliminar una foto en una carpeta llamada "uploads" en PHP, MySQL y PDO, y utilizando el API Fetch de ES6 para hacer la solicitud y retornar una respuesta en formato JSON, puedes seguir los siguientes pasos:

 

Crear un archivo PHP que maneje la eliminación de la foto. Supongamos que el archivo se llama "delete_photo.php". Dentro de este archivo, primero se debe verificar que se recibe el nombre y apellido del usuario y la ruta de la foto a eliminar. Luego, se debe conectar a la base de datos y ejecutar una consulta de eliminación que elimine la foto del directorio "uploads" y también elimine cualquier registro en la base de datos relacionado con esa foto. Aquí hay un ejemplo de cómo podría verse el archivo "delete_photo.php":

php

Copy code

<?php

// Verificar que se reciben los parámetros necesarios

if (!isset($_POST['nombre']) || !isset($_POST['apellido']) || !isset($_POST['ruta'])) {

  die(json_encode(array('success' => false, 'message' => 'Falta información para eliminar la foto')));

}

 

$nombre = $_POST['nombre'];

$apellido = $_POST['apellido'];

$ruta = $_POST['ruta'];

 

// Conectar a la base de datos

$dsn = "mysql:host=nombre_del_servidor;dbname=nombre_de_la_base_de_datos";

$username = "nombre_de_usuario";

$password = "contraseña_del_usuario";

 

try {

  $db = new PDO($dsn, $username, $password);

} catch (PDOException $e) {

  die(json_encode(array('success' => false, 'message' => 'Error al conectar a la base de datos: ' . $e->getMessage())));

}

 

// Eliminar la foto del directorio "uploads"

if (file_exists($ruta)) {

  unlink($ruta);

}

 

// Eliminar cualquier registro en la base de datos relacionado con esa foto

$sql = "DELETE FROM fotos WHERE nombre = :nombre AND apellido = :apellido AND ruta = :ruta";

$stmt = $db->prepare($sql);

$stmt->bindParam(':nombre', $nombre);

$stmt->bindParam(':apellido', $apellido);

$stmt->bindParam(':ruta', $ruta);

$stmt->execute();

 

echo json_encode(array('success' => true, 'message' => 'Foto eliminada correctamente'));

?>

En tu archivo JavaScript, puedes utilizar el API Fetch para enviar una solicitud POST a "delete_photo.php" con los parámetros necesarios y recibir una respuesta en formato JSON. Aquí hay un ejemplo de cómo podría verse el código JavaScript:

javascript

Copy code

const nombre = "Juan";

const apellido = "Pérez";

const ruta = "uploads/foto1.jpg";

 

fetch('delete_photo.php', {

  method: 'POST',

  headers: {

    'Content-Type': 'application/x-www-form-urlencoded'

  },

  body: `nombre=${nombre}&apellido=${apellido}&ruta=${ruta}`

})

.then(response => response.json())

.then(data => console.log(data))

.catch(error => console.error(error));

Este código envía una solicitud POST a "delete_photo.php" con los parámetros "nombre", "apellido" y "ruta". El servidor procesa la solicitud y devuelve una respuesta en formato JSON con dos campos: "success", que indica si la eliminación fue exitosa, y "message", que contiene un mensaje con información adicional sobre la eliminación. En este caso, se imprime la respuesta en la consola del navegador.

 

Recuerda cambiar los valores de las variables "nombre", "apellido" y "ruta" en el código JavaScript para que coincidan con los valores que quieres eliminar. Además, aseg

 

 

 

<?php

$firstName = $_GET['firstName'];

$lastName = $_GET['lastName'];

 

// Eliminar la foto correspondiente de la carpeta "uploads"

$filename = "uploads/" . $firstName . "_" . $lastName . ".jpg";

if (file_exists($filename)) {

  unlink($filename);

}

 

// Eliminar el nombre de la foto correspondiente de la base de datos

try {

  $pdo = new PDO("mysql:host=localhost;dbname=mydatabase", "username", "password");

  $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

 

  $stmt = $pdo->prepare("DELETE FROM mytable WHERE firstName = :firstName AND lastName = :lastName");

  $stmt->bindParam(':firstName', $firstName);

  $stmt->bindParam(':lastName', $lastName);

  $stmt->execute();

 

  $response = array('status' => 'success', 'message' => 'Photo deleted successfully');

  echo json_encode($response);

} catch(PDOException $e) {

  $response = array('status' => 'error', 'message' => 'Error deleting photo: ' . $e->getMessage());

  echo json_encode($response);

}

?>

 

 

ES6 API fetch foto en carpeta con nombre y apellido delete mysql pdo php

Para eliminar una foto en una carpeta con nombre y apellido utilizando fetch en ES6 y luego eliminar su nombre en una base de datos MySQL mediante PDO en PHP, puedes enviar una solicitud fetch para eliminar el archivo en la carpeta y luego enviar otra solicitud fetch para eliminar el nombre del archivo en la base de datos.

 

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 deleteButton = document.querySelector('#delete-button');

deleteButton.addEventListener('click', () => {

  const id = idInput.value;

  const firstName = firstNameInput.value;

  const lastName = lastNameInput.value;

 

  fetch(`/delete-file.php?file=${firstName}_${lastName}.jpg`)

  .then(response => {

    if (!response.ok) {

      throw new Error('Network response was not ok');

    }

    return response.json();

  })

  .then(data => {

    console.log(data);

    fetch('/delete.php', {

      method: 'POST',

      headers: {

        'Content-Type': 'application/json'

      },

      body: JSON.stringify({id})

    })

    .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 data:', error);

    });

  })

  .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. Se envía una solicitud fetch a la página PHP delete-file.php con el nombre del archivo para eliminar el archivo de la carpeta. Si la respuesta es exitosa, se imprime en la consola. Se envía una solicitud fetch a la página PHP delete.php con el método POST y el ID como cuerpo de la solicitud para eliminar la fila correspondiente en la base de datos. 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 las solicitudes, se maneja en los bloques catch.

 

En la página PHP delete-file.php, puedes usar la función unlink() para eliminar el archivo correspondiente en la carpeta con el nombre y apellido especificados. En la página PHP delete.php, puedes usar una consulta preparada PDO para eliminar la fila correspondiente en la tabla de la base de datos.

 

 

 

 

jose fernandez

ES6 API fetch foto con nombre y apellido delete mysql pdo php  unlink("uploads/"

 

3 / 3

 

Claro, aquí te proporciono un ejemplo de cómo eliminar una foto con nombre y apellido de la carpeta "uploads" utilizando unlink() en PHP y luego eliminar su nombre en una base de datos MySQL mediante PDO.

 

En el archivo JavaScript, supongamos que ya tienes el valor del nombre y apellido, podrías enviar una solicitud fetch de la siguiente manera:

 

javascript

Copy code

const firstName = "John";

const lastName = "Doe";

 

fetch(`/delete-photo.php?firstName=${firstName}&lastName=${lastName}`)

  .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 photo:', error);

  });

En la página PHP delete-photo.php, podrías usar unlink() para eliminar la foto correspondiente de la carpeta "uploads" y luego eliminar su nombre de la base de datos. Por ejemplo:

 

php

Copy code

<?php

$firstName = $_GET['firstName'];

$lastName = $_GET['lastName'];

 

// Eliminar la foto correspondiente de la carpeta "uploads"

$filename = "uploads/" . $firstName . "_" . $lastName . ".jpg";

if (file_exists($filename)) {

  unlink($filename);

}

 

// Eliminar el nombre de la foto correspondiente de la base de datos

try {

  $pdo = new PDO("mysql:host=localhost;dbname=mydatabase", "username", "password");

  $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

 

  $stmt = $pdo->prepare("DELETE FROM mytable WHERE firstName = :firstName AND lastName = :lastName");

  $stmt->bindParam(':firstName', $firstName);

  $stmt->bindParam(':lastName', $lastName);

  $stmt->execute();

 

  $response = array('status' => 'success', 'message' => 'Photo deleted successfully');

  echo json_encode($response);

} catch(PDOException $e) {

  $response = array('status' => 'error', 'message' => 'Error deleting photo: ' . $e->getMessage());

  echo json_encode($response);

}

?>

En el ejemplo anterior, se obtienen los valores de nombre y apellido desde la solicitud GET. Luego, se construye el nombre de archivo correspondiente y se elimina utilizando unlink() si existe en la carpeta "uploads". A continuación, se establece una conexión PDO con la base de datos, se prepara y ejecuta una consulta SQL para eliminar la fila correspondiente en la tabla "mytable". Si hay algún error durante la ejecución, se captura y se envía una respuesta JSON de error. Si la ejecución es exitosa, se envía una respuesta JSON de éxito.

 

Ten en cuenta que debes asegurarte de tener los permisos adecuados en la carpeta "uploads" para que PHP pueda eliminar archivos de la misma. Además, asegúrate de validar y escapar los valores de entrada adecuadamente para evitar posibles vulnerabilidades de seguridad.

Comentarios

Entradas populares de este blog

INSERTAR Y UPDATE FECHA CON PHP MYSQL EN FORMULARIO METODO POST CON JQUERY ETIQUETA DATE

Copia de Seguridad de Archivo MS Access (.mdb) a Pendrive con VB6

CONVERTIR IMÁGEN JPG O PNG A WEBP CON PHP DE FORMA SIMPLE