(PHP 8 >= 8.4.0)
Pdo\Pgsql::copyFromFile — Copie des données d'un fichier dans une table
$tableName,$filename,$separator = "\t",$nullAs = "\\\\N",$fields = null
Copie des données d'un fichier spécifié par filename
dans la table tableName en utilisant
separator comme délimiteur de champs et la liste fields
tableNamefilenameseparatorrows.
nullAsNULL.
fields
Si filename ne peut pas être ouvert en lecture, l'échec
est signalé via la gestion des erreurs de la connexion
(voir PDO::ATTR_ERRMODE) ; avec
PDO::ERRMODE_EXCEPTION, une
PDOException est levée.
Exemple #1 Exemple avec Pdo\Pgsql::copyFromFile()
Le fichier contient un enregistrement par ligne, les champs étant joints par
separator (une tabulation par défaut).
<?php
$db = new Pdo\Pgsql('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->exec('CREATE TABLE fruits (id int, name text, qty int)');
file_put_contents('/tmp/fruits.tsv', "1\tapple\t10\n2\tbanana\t20\n");
$db->copyFromFile('fruits', '/tmp/fruits.tsv');
echo $db->query('SELECT count(*) FROM fruits')->fetchColumn(), "\n";
?>L'exemple ci-dessus va afficher :
2