Pdo\Pgsql::copyToFile

(PHP 8 >= 8.4.0)

Pdo\Pgsql::copyToFileCopia dados da tabela para arquivo

Descrição

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

Copia dados da tabela para o arquivo especificado por filename usando separator como delimitador de campos e lista de campos no parâmetro fields.

Parâmetros

tableName
String contendo o nome da tabela.
filename
Nome do arquivo para exportar dados.
separator
Delimitador usado para separar campos em uma entrada do array rows.
nullAs
Como interpretar valores SQL NULL.
fields
Lista de campos a serem exportados.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Erros/Exceções

Se filename não puder ser aberto para escrita ou não puder ser gravado, a falha é reportada através da manipulação do erro de conexão (consulte PDO::ATTR_ERRMODE); com PDO::ERRMODE_EXCEPTION uma PDOException é lançada.

Exemplos

Exemplo #1 Exemplo de Pdo\Pgsql::copyToFile()

A tabela é gravada em filename, um registro por linha com os campos conectados por 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');
?>

O exemplo acima produzirá:

1	apple	10
2	banana	20

Veja Também