ホームページ  >  記事  >  バックエンド開発  >  PHPを使用してCSVファイルを作成するにはどうすればよいですか? (コード例)

PHPを使用してCSVファイルを作成するにはどうすればよいですか? (コード例)

青灯夜游
青灯夜游オリジナル
2019-02-16 16:32:063702ブラウズ

CSV (カンマ区切り値) は、アプリケーション間で表形式のデータを転送する最も一般的な方法の 1 つであり、データを CSV にエクスポートするコードを作成すると、多くのアプリケーションで役立ちます。 PHPを使ってCSVファイルを作成する方法は次の記事で紹介していますので、ご参考になれば幸いです。

PHPを使用してCSVファイルを作成するにはどうすればよいですか? (コード例)

#コード例による詳細な紹介:

#静的データを使用した CSV ファイルの作成

データを CSV ファイルに保存する場合は、次のようなコードを使用できます:

<?php
// 创建并打开“demosaved.csv”文件进行写入
$file = fopen(&#39;demosaved.csv&#39;, &#39;w&#39;);
 
// 保存列标题
fputcsv($file, array(&#39;Column 1&#39;, &#39;Column 2&#39;, &#39;Column 3&#39;, &#39;Column 4&#39;, &#39;Column 5&#39;));
 
// 样本数据,这可以从MySQL中获取
$data = array(
array(&#39;Data 11&#39;, &#39;Data 12&#39;, &#39;Data 13&#39;, &#39;Data 14&#39;, &#39;Data 15&#39;),
array(&#39;Data 21&#39;, &#39;Data 22&#39;, &#39;Data 23&#39;, &#39;Data 24&#39;, &#39;Data 25&#39;),
array(&#39;Data 31&#39;, &#39;Data 32&#39;, &#39;Data 33&#39;, &#39;Data 34&#39;, &#39;Data 35&#39;),
array(&#39;Data 41&#39;, &#39;Data 42&#39;, &#39;Data 43&#39;, &#39;Data 44&#39;, &#39;Data 45&#39;),
array(&#39;Data 51&#39;, &#39;Data 52&#39;, &#39;Data 53&#39;, &#39;Data 54&#39;, &#39;Data 55&#39;)
);
 
// 保存每一行数据
foreach ($data as $row)
{
fputcsv($file, $row);
}
 
// 关闭文件
fclose($file);
?>

コードの説明

行 3: 「demosaved.csv」という名前のファイルを書き込み用に開きます。サーバーがこのファイルが保存されている場所に書き込めることを確認してください。

行 6: 列ヘッダーを追加します。列ヘッダーが不要な場合は、この手順をスキップできます。

9 ~ 15 行目: ファイルに保存するデータを示します。 mysql からデータを取得する場合は、コードを使用してデータベースに接続してデータを取得し、これらの行を

#行 17 ~ 21 に置き換える必要があります。データの各行を反復処理し、データを保存します。

24行目: ファイルを閉じます。ファイルへのすべてのデータの書き込みが完了したら、ファイルを閉じる必要があります。

#mysql からデータを取得して CSV ファイルを作成し、自動的にダウンロードします

<?php
// 设置输出标头,以便下载文件
header(&#39;Content-type: text/csv&#39;);
header(&#39;Content-Disposition: attachment; filename="demo.csv"&#39;);
 
// 不缓存文件
header(&#39;Pragma: no-cache&#39;);
header(&#39;Expires: 0&#39;);
 
// 创建连接到输出流的文件指针
$file = fopen(&#39;php://output&#39;, &#39;w&#39;);
 
// 打开数据库连接
$link = mysqli_connect(&#39;localhost&#39;, &#39;my_user&#39;, &#39;my_password&#39;, &#39;my_db&#39;);
 
//查询数据库
$query = &#39;SELECT field1, field2, field3, field4, field5 FROM table&#39;;
 
if ($rows = mysqli_query($link, $query))
{
// 保存每一行数据
while ($row = mysqli_fetch_assoc($rows))
{
fputcsv($file, $row);
}
//自由结果集
mysqli_free_result($result);
}
// 关闭连接
mysqli_close($link);
?>

コードの説明:

ファイルをダウンロードしたいので、ブラウザーにファイルをダウンロードするように伝えるために、いくつかのヘッダー (行 3 と行 4) を送信する必要があります。

3 行目: csv ファイルを送信するため、コンテンツの MIME タイプが text/csv であることをブラウザーに伝えます。

4 行目: ヘッダー「Content-Disposition」をその内容とともに送信します。値は「attachment」、ファイル名は「demo.csv」です。これにより、「demo.csv」というファイルを表示する代わりにダウンロードするようブラウザに指示します。

行 7 と 8: ファイルをキャッシュしないようにブラウザに指示します。これは、同じ名前の複数のファイルを送信する場合に便利ですが、それ以外の場合は必要ありません

11 行目: データを送信するためにファイル ポインタを開くことを表します

14 行目 ~ 30 行目: mysql Get からdata

注:

データベースの接続パラメータとクエリを必ず変更する必要があります。さらに、このデータベース関連のコードは単なる例です。実際のアプリケーションでは、別のファイルにある可能性があり、エラー処理も必要です。 以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !

以上がPHPを使用してCSVファイルを作成するにはどうすればよいですか? (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。