首頁 > 後端開發 > php教程 > 如何使用PHP建立CSV檔案? (程式碼範例)

如何使用PHP建立CSV檔案? (程式碼範例)

青灯夜游
發布: 2023-04-05 09:34:02
原創
3738 人瀏覽過

CSV(逗號分隔值)是在應用程式之間傳輸表格資料的最常用方法之一;創建將資料匯出到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行:告訴瀏覽器內容的MIME類型是text / csv,因為我們要傳送一個csv檔

第4行:傳送標頭“Content-Disposition”,其值為“attachment”,檔案名稱為“demo.csv”。這將告訴瀏覽器下載名為“demo.csv”的文件,而不是顯示它。

第7行和第8行:告訴瀏覽器不要快取檔案。如果我們發送多個同名文件,這很有用,否則這不是必需的

第11行:表示打開文件指標以發送資料

#第14行~第30行:從mysql取得資料

註:需要確保更改資料庫的連接參數和查詢。此外,該資料庫相關程式碼僅是一個範例。在實際應用程式中,它可能位於不同的檔案中,並且還應該有錯誤處理。

以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! !

以上是如何使用PHP建立CSV檔案? (程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板