/** * DB_STRUCTURE_creer_remplir_tables_structure * * @param string $dossier_requetes './_sql/structure/' ou './_sql/webmestre/' * @return void */ function DB_STRUCTURE_creer_remplir_tables_structure($dossier_requetes) { $tab_files = Lister_Contenu_Dossier($dossier_requetes); foreach($tab_files as $file) { $extension = pathinfo($file,PATHINFO_EXTENSION); if($extension=='sql') { $requetes = file_get_contents($dossier_requetes.$file); DB::query(SACOCHE_STRUCTURE_BD_NAME , $requetes ); /* La classe PDO a un bug. Si on envoie plusieurs requêtes d'un coup ça passe, mais si on recommence juste après alors on récolte : "Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute." La seule issue est de fermer la connexion après chaque requête multiple en utilisant exceptionnellement la méthode ajouté par SebR suite à mon signalement : DB::close(nom_de_la_connexion); */ DB::close(SACOCHE_STRUCTURE_BD_NAME); } } }
function effacer_fichiers_temporaires($dossier,$nb_minutes) { if(is_dir($dossier)) { $date_limite = time() - $nb_minutes*60; $tab_fichier = Lister_Contenu_Dossier($dossier); foreach($tab_fichier as $fichier_nom) { $chemin_fichier = $dossier.'/'.$fichier_nom; $extension = pathinfo($chemin_fichier,PATHINFO_EXTENSION); $date_unix = filemtime($chemin_fichier); if( (is_file($chemin_fichier)) && ($date_unix<$date_limite) && ($extension!='htm') ) { unlink($chemin_fichier); } } } }