1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
| <?php
class Biblio {
public $pdo;
public $dossier;
public $db_host;
public $db_user;
public $db_password;
private $regex_date = '/.*([0-9]{2})-([0-9]{2})-([[0-9]{4}).*/';
/**
* connecter()
*/
public function connecter()
{
$this->pdo = new PDO( $this->db_host, $this->db_user, $this->db_password );
$this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$this->pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
}
/**
* importer()
*/
public function importer()
{
if ( !is_dir($this->dossier) ) die('Dossier non valide ou innexistant !!');
$this->fichiers = scandir($this->dossier);
$values = [];
foreach( $this->fichiers as $fichier )
{
$fichier = $this->dossier . $fichier;
$type_id = is_dir($fichier) ? 1 : 2;
$fichier = addslashes( $this->dossier . $fichier );
preg_match( $this->regex_date, $fichier, $infos );
$date = empty($infos[0]) ? null : $infos[3] . '-' . $infos[2] . '-' . $infos[1];
$values[] = "('$fichier', '$date', $type_id)";
}
$query = 'INSERT INTO fichiers (fichier, creation, type_id) VALUES ' . implode(",\n", $values);
$this->pdo->exec( $query );
}
/**
* supprimer()
*/
public function supprimer()
{
$query = 'TRUNCATE fichiers';
$this->pdo->exec( $query );
}
/**
* categoriser()
*/
public function categoriser()
{
$query = 'UPDATE fichiers SET type_id = 3 WHERE fichier LIKE \'%.pdf\'';
$this->pdo->exec( $query );
}
/**
* rechercher()
*/
public function rechercher( $sql )
{
$results = $this->pdo->query( $sql );
return $results->fetchAll( PDO::FETCH_OBJ );
}
}
?> |
Partager