update mescole and photo diagram
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
require_once("include/headscript.php");
|
||||
|
||||
$db = DBHandlerSelect::getInstance();
|
||||
$pdo = $db->getConnection();
|
||||
|
||||
$folder = __DIR__ . "/photos/matrici/"; // cartella corretta
|
||||
$files = scandir($folder);
|
||||
|
||||
function normalize($str)
|
||||
{
|
||||
$str = strtolower($str);
|
||||
$str = preg_replace('/[^a-z0-9]/', '', $str); // rimuove tutto ciò che non è alfanumerico
|
||||
return $str;
|
||||
}
|
||||
|
||||
// Carico matrici
|
||||
$sql = "SELECT id, nome FROM matrice";
|
||||
$matrici = $pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
$matched = [];
|
||||
$unmatchedPhotos = [];
|
||||
|
||||
foreach ($files as $file) {
|
||||
|
||||
// ignora file nascosti, . e ..
|
||||
if ($file === "." || $file === "..") continue;
|
||||
|
||||
$fileNoExt = pathinfo($file, PATHINFO_FILENAME);
|
||||
$normFile = normalize($fileNoExt);
|
||||
|
||||
$found = false;
|
||||
|
||||
foreach ($matrici as $m) {
|
||||
|
||||
$normNome = normalize($m['nome']);
|
||||
|
||||
if ($normNome === "") continue; // evita errori su record vuoti
|
||||
|
||||
// MATCHING: inizia con oppure contiene
|
||||
if (strpos($normFile, $normNome) === 0 || strpos($normFile, $normNome) !== false) {
|
||||
|
||||
$update = $pdo->prepare("UPDATE matrice SET photo = ? WHERE id = ?");
|
||||
$update->execute([$file, $m['id']]);
|
||||
|
||||
$matched[] = [$file, $m['nome']];
|
||||
$found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$found) {
|
||||
$unmatchedPhotos[] = $file;
|
||||
}
|
||||
}
|
||||
|
||||
// RISULTATO:
|
||||
|
||||
echo "<h2>✔ FOTO ASSOCIATE</h2>";
|
||||
if (empty($matched)) echo "Nessuna foto trovata";
|
||||
foreach ($matched as $m) {
|
||||
echo "✔ <strong>{$m[0]}</strong> → Matrice: <strong>{$m[1]}</strong><br>";
|
||||
}
|
||||
|
||||
echo "<hr><h2>❌ FOTO NON ASSOCIATE</h2>";
|
||||
if (empty($unmatchedPhotos)) echo "Tutte le foto hanno trovato una matrice!";
|
||||
foreach ($unmatchedPhotos as $u) {
|
||||
echo "❌ <strong>$u</strong><br>";
|
||||
}
|
||||
Reference in New Issue
Block a user