(PHP 8 >= 8.4.0)
Pdo\Pgsql::copyToFile — Copie des données d'une table dans un fichier
$tableName,$filename,$separator = "\t",$nullAs = "\\\\N",$fields = null
Copie des données de la table dans le fichier spécifié par filename
en utilisant separator comme délimiteur de champs et
la liste fields.
tableNameUne chaîne de caractères contenant le nom de la table.
filenameLe nom du fichier où exporter les données.
separator
Un délimiteur utilisé pour séparer les champs dans une entrée du
tableau rows.
nullAs
Comment interpréter les valeurs NULL.
fieldsLa liste des champs à exporter.
Si filename ne peut pas être ouvert en écriture, ou ne
peut pas être écrit, 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::copyToFile()
La table est écrite dans filename, un enregistrement
par ligne, les champs étant joints par separator.
<?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)');
$db->exec("INSERT INTO fruits VALUES (1, 'apple', 10), (2, 'banana', 20)");
$db->copyToFile('fruits', '/tmp/fruits.tsv');
echo file_get_contents('/tmp/fruits.tsv');
?>L'exemple ci-dessus va afficher :
1 apple 10 2 banana 20