<?php
/* Inserisci qui il percorso dove si trova il database */
$path= "";

/* Nome e password del database da compattare */
$olddb="nome.mdb";
$oldpass="vecchia password";

/* Nome provvisorio database compattato */
$newdb="new_db.mdb";
$newpass="nuova password";

/* ConnString verso il database da compattare */
$oldConn="Provider=Microsoft.Jet.OLEDB.4.0;";
$oldConn.="Data Source=".$path.$olddb.";";
$oldConn.="Jet OLEDB:Database Password=$oldpass ;";

/* ConnString verso il nuovo database (compattato) */
$newConn="Provider=Microsoft.Jet.OLEDB.4.0;";
$newConn.="Data Source=".$path.$newdb.";";
$newConn.="Jet OLEDB:Database Password=$newpass ;";

/* Controllo che non esista già un file con il nome provvisorio scelto */
if(file_exists($path.$newdb)){
die("Esiste già un file con il nome
provvisorio che hai scelto") ;
}

/* Istanzio l'oggetto che fornisce il metodo Compact() */
$je=new COM("JRO.JetEngine") or die("Compact fallito");
/* Compatta il database e setta una nuova password */
$je->CompactDatabase($oldConn,$newConn) ;
$je->Release() ;
$je= null ;

/* Elimina il vecchio database */
unlink($olddb);

/* Rinomina il db compattato con il vecchio nome */
rename($newdb,$olddb);
?>