예제 #1
0
 function eliminarFoto()
 {
     // Crear un objeto Db y conectar con la base de datos.
     if (!class_exists('AccesoDb')) {
         include_once "../clases/accesoDb.php";
     }
     $db = new AccesoDb();
     $db->conectar();
     // Creamos una colección de todos sus likes y la eliminamos.
     include_once 'colLikes.php';
     $colLikes = new ColLikes('idFoto', $this->idFoto);
     $colLikes->eliminarColeccionLikes();
     // Creamos una colección de todos sus favoritos y la eliminamos.
     include_once 'colFavoritos.php';
     $colFavoritos = new ColFavoritos('idFoto', $this->idFoto);
     $colFavoritos->eliminarColeccionFavoritos();
     // Creamos una colección de todos sus descargas y la eliminamos.
     include_once 'colDescargas.php';
     $colDescargas = new ColDescargas('idFoto', $this->idFoto);
     $colDescargas->eliminarColeccionDescargas();
     // Creamos una colección de todos sus comentarios y la eliminamos.
     include_once 'colComentario.php';
     $colComentarios = new ColComentario('idFoto', $this->idFoto);
     $colComentarios->eliminarColeccionComentarios();
     // Borrar del disco los ficheros (imágenes) asociados a esta foto.
     $ok = true;
     $fichero = '../imagenes/usuarios/' . $this->nombreUsuario . '/miniaturas/' . $this->nombreFichero;
     if (!unlink($fichero)) {
         $ok = false;
     }
     $fichero = '../imagenes/usuarios/' . $this->nombreUsuario . '/muestra/' . $this->nombreFichero;
     if (!unlink($fichero)) {
         $ok = false;
     }
     $fichero = '../imagenes/usuarios/' . $this->nombreUsuario . '/originales/' . $this->nombreFichero;
     if (!unlink($fichero)) {
         $ok = false;
     }
     if (!$ok) {
         echo 'Se ha producido un error al acceder al disco para borrar los ficheros asociados a esta fotografía';
     }
     // Eliminamos los likes y favoritos de esta fotografía.
     // Sentencia DELETE para eliminar una noticia.
     $resultado = false;
     if ($sql = "DELETE FROM fotografia WHERE idFoto = " . $this->idFoto . ";") {
         $resultado = true;
     }
     // Ejecución de la sentencia SQL que elimina la foto de la bdd.
     $db->ejecutarSQL($sql);
     // Desconexión del servidor de base de datos.
     $db->desconectar();
     return $resultado;
 }