<?php
$servername = "localhost";
$username = "ndconsulta";
$password = "Nitro2021";
$dbname = "db_compranet";

// Crear conexión
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("Error de conexión a la base de datos: " . $conn->connect_error);
}

// Función para verificar si la imagen existe en la URL
function checkImageExists($imageUrl) {
    // Codificar la URL para manejar espacios y caracteres especiales
    $imageUrl = str_replace(' ', '%20', $imageUrl);
    $headers = @get_headers($imageUrl);
    return $headers && strpos($headers[0], '200') !== false;
}

// Archivo log
$logFile = 'image_check.log';
$logHandle = fopen($logFile, 'a');

date_default_timezone_set('America/Bogota');
fwrite($logHandle, "Log de verificación de imágenes - " . date('Y-m-d H:i:s') . "\n");

// Consulta 1
$sql1 = "SELECT tb_productos.id, tb_productos.referenciaCPN, tb_imagenes_principal.linkImagen, tb_imagenes_principal.id AS idImagen
         FROM tb_imagenes_principal
         INNER JOIN tb_productos ON tb_imagenes_principal.idProducto = tb_productos.id";
$result1 = $conn->query($sql1);

if ($result1->num_rows > 0) {
    while($row = $result1->fetch_assoc()) {
        $imageUrl = str_replace('J:/', 'https://sistema.compranet.com.co/', $row['linkImagen']);
        if (!checkImageExists($imageUrl)) {
            fwrite($logHandle, "Imagen NO encontrada: Producto ID: {$row['id']}, Referencia CPN: {$row['referenciaCPN']}, Imagen ID: {$row['idImagen']}, Link Imagen: {$row['linkImagen']}\n");
        }
    }
} else {
    fwrite($logHandle, "No se encontraron resultados en la primera consulta.\n");
}

// Consulta 2
$sql2 = "SELECT tb_imagenes_variantes.id AS idImagen, tb_imagenes_variantes.idVariante, tb_productos_variantes.referenciaCPN, tb_imagenes_variantes.idEstado, tb_imagenes_variantes.linkImagen
         FROM tb_productos_variantes
         INNER JOIN tb_imagenes_variantes ON tb_productos_variantes.id = tb_imagenes_variantes.idVariante";
$result2 = $conn->query($sql2);

if ($result2->num_rows > 0) {
    while($row = $result2->fetch_assoc()) {
        $imageUrl = str_replace('J:/', 'https://sistema.compranet.com.co/', $row['linkImagen']);
        if (!checkImageExists($imageUrl)) {
            fwrite($logHandle, "Imagen NO encontrada: Variante ID: {$row['idVariante']}, Referencia CPN: {$row['referenciaCPN']}, Imagen ID: {$row['idImagen']}, Estado: {$row['idEstado']}, Link Imagen: {$row['linkImagen']}\n");
        }
    }
} else {
    fwrite($logHandle, "No se encontraron resultados en la segunda consulta.\n");
}

fclose($logHandle);
$conn->close();
echo "Proceso completado. Verifique el archivo log para las imágenes no encontradas.";
?>
