Pdo\Pgsql::copyToFile

(PHP 8 >= 8.4.0)

Pdo\Pgsql::copyToFileCopie des données d'une table dans un fichier

Description

public function Pdo\Pgsql::copyToFile(
    string $tableName,
    string $filename,
    string $separator = "\t",
    string $nullAs = "\\\\N",
    ?string $fields = null
): bool

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.

Liste de paramètres

tableName
Une chaîne de caractères contenant le nom de la table.
filename
Le 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.
fields
La liste des champs à exporter.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Erreurs / Exceptions

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.

Exemples

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

Voir aussi