fputcsv()は、配列のデータをファイルに書き込み、CSV形式にフォーマットするPHPの組み込み関数です。各行配列はCSV形式の行に変換され、配列内の各要素はコンマ(または指定されたセパレーター)によって分離されます。
bool fputcsv ( resource $handle , array $fields [, string $separator = "," [, string $enclosure = "\"" [, string $escape = "\\" ]]] )
$ハンドル:ターゲットファイルのファイルハンドルは、有効なファイルリソースである必要があります。
$フィールド:CSVファイルに書き込まれる配列、通常はデータベースクエリから得られた結果です。
$セパレーター:デリミタを指定し、デフォルトはコンマになります。
$エンクロージャー:引用された文字を指定し、デフォルトは二重引用符になります。
$ ESCAPE :エスケープキャラクターを指定し、デフォルトはバックスラッシュになります。
まず、データベースに接続してクエリを実行してデータを取得する必要があります。以下は、基本的なmysqliデータベース接続とクエリ操作です。
<?php
// データベースに接続します
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "your_database_name";
$conn = new mysqli($servername, $username, $password, $dbname);
// 接続を確認してください
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// クエリを実行します
$sql = "SELECT id, name, email FROM users"; // サンプルクエリ
$result = $conn->query($sql);
// クエリの結果を確認してください
if ($result->num_rows > 0) {
// データをエクスポートできます
} else {
echo "0 results";
}
?>
FOPEN()関数を使用して、CSVファイルを作成および開き、エクスポートされたデータを保存します。
<?php
// Aを開きます CSV 書類(そうでない場合は、作成します)
$file = fopen("export.csv", "w");
// 書く CSV 書類头部
$headers = ['ID', 'Name', 'Email'];
fputcsv($file, $headers);
?>
次に、 fputcsv()を使用して、query results resurts line by行をCSVファイルに書き込みます。 mysqli_fetch_assoc()またはその他の関数を使用して、クエリの各データを取得してファイルに書き込む必要があります。
<?php
// 逐行读取查询结果并書く CSV 書類
while($row = $result->fetch_assoc()) {
// 将每一行数据書く CSV 書類
fputcsv($file, $row);
}
// 关闭書類
fclose($file);
?>
エクスポートが完了したら、データベース接続を閉じることを忘れないでください。
<?php
// データベース接続を閉じます
$conn->close();
?>
<?php
// データベースに接続します
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "your_database_name";
$conn = new mysqli($servername, $username, $password, $dbname);
// 接続を確認してください
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// クエリを実行します
$sql = "SELECT id, name, email FROM users"; // サンプルクエリ
$result = $conn->query($sql);
// クエリの結果を確認してください
if ($result->num_rows > 0) {
// Aを開きます CSV 書類(そうでない場合は、作成します)
$file = fopen("export.csv", "w");
// 書く CSV 書類头部
$headers = ['ID', 'Name', 'Email'];
fputcsv($file, $headers);
// 逐行读取查询结果并書く CSV 書類
while($row = $result->fetch_assoc()) {
fputcsv($file, $row);
}
// 关闭書類
fclose($file);
echo "Data has been exported to export.csv";
} else {
echo "0 results";
}
// データベース接続を閉じます
$conn->close();
?>
データベースに接続する: MySQLIを使用してデータベースに接続します。
クエリを実行します:SQLクエリを実行して、 mysqli_result resultセットを取得します。
csvファイルを作成します。fopen ()を使用してcsvファイルを開き、 fputcsv()でヘッダーに書き込みます。
データのエクスポート: fputcsv()ループを使用して、各データの行をCSVファイルに書き込みます。
接続の閉鎖:エクスポートが完了したら、ファイルハンドルとデータベース接続を閉じます。
このようにして、データベースからデータをCSVファイルに簡単にエクスポートして、データの保存、移行、または分析を容易にすることができます。