(PHP 8 >= 8.4.0)
Pdo\Pgsql::copyToFile — Копирует данные из таблицы в файл
$tableName,$filename,$separator = "\t",$nullAs = "\\\\N",$fields = null
Метод соединяет значения списка полей fields
из таблицы filename
разделителем separator
и копирует данные в файл.
tableNameСтрока с названием таблицы.
filenameИмя файла для экспорта данных.
separator
Разделитель, по которому записи массива rows
разбираются на значения полей.
nullAs
Строка, которая интерпретируется как SQL-значение NULL.
fieldsСписок полей для экспорта.
Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.
При ошибке открытия файла filename для чтения или записи
о сбое сообщается через механизм обработки ошибок соединения,
который устанавливается через атрибут PDO::ATTR_ERRMODE;
в режиме PDO::ERRMODE_EXCEPTION
выбрасывается исключение PDOException.
Пример #1 Пример копирования данных в файл методом Pdo\Pgsql::copyToFile()
Значения полей таблицы соединяются разделителем separator
и записываются в файл filename
по одной записи на каждой строке.
<?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');Результат выполнения приведённого примера:
1 apple 10 2 banana 20