oleh Vincy. Terakhir diubah pada 23 Januari 2023.
Tutorial ini adalah untuk mengonversi array PHP ke file atau format CSV. Ini memiliki dua contoh penerapan konversi ini.
- Contoh cepatnya adalah mem-parsing kumpulan data array PHP ke CSV dan mencetak data CSV di browser.
- Contoh lain adalah mengonversi larik basis data ke CSV dan mengunduh file .csv.
Contoh 1: Contoh cepat
Kode di bawah ini menggunakan PHP fputcsv() berfungsi untuk mengubah array menjadi CSV. Fungsi ini memerlukan argumen berikut untuk ditentukan.
- File CSV target.
- Iterasi pinter array untuk menempatkan baris CSV.
- pembatas data.
- Kandang data.
<?php
$array = array(
array(100, 200, 300, 400, 500),
array('Lion', 'Tiger', 'Elephant', 'Horse', 'Dog "Domestic"'),
);
$csvDelimiter=",";
$csvEnclosure=""";
// to physically write to a file in disk
$csvFile = fopen('example.csv', 'w+');
// to write to temp
$csvFile = fopen('php://temp', 'r+');
foreach ($array as $line) {
fputcsv($csvFile, $line, $csvDelimiter, $csvEnclosure);
}
rewind($csvFile);
// to display CSV file contents on browser
$contents="";
while (!feof($csvFile)) {
$contents .= fread($csvFile, 8192);
}
fclose($csvFile);
echo $contents;
?>
Contoh singkat ini membuat larik masukan untuk diubah menjadi CSV. Ini adalah array multidimensi yang memiliki dataset.
Kode ini mengatur pembatas dan enklosur sebelum mengonversi larik input.
Ini mengulangi array dan panggilan fputcsv() pada setiap iterasi untuk membentuk baris data.
Dapatkan kode dari artikel tertaut jika Anda ingin mengonversi CSV ke array PHP.
Contoh 2: Konversi larik hasil basis data ke CSV untuk diunduh
Kode PHP ini untuk mempelajari cara mengonversi array data dari database ke CSV. Sebelumnya, kita telah melihat bagaimana menangani CSV di PHP untuk membaca, menulis, mengimpor, dan mengekspor operasi dengan database.
Dalam contoh ini, kode menghubungkan database dan membaca hasilnya ke dalam array. Kemudian, ia membuat aliran keluaran file PHP untuk meletakkan data CSV baris demi baris.
Pertama, kode mengatur larik tajuk kolom. Kemudian, iterasi larik dan panggilan hasil basis data fputcsv() pada setiap baris data.
Header PHP () diatur dengan aplikasi/csv untuk mengunduh file CSV ke browser.
<?php
// PHP code will connect to a database
// Read from a table and get result
// Formulate the result as an array to use in a convenient form
// Iterate the array
// Use PHP's function fputcsv and write the array elements
// to a CSV file
// Then push that CSV file as download
$mysqli = new mysqli("localhost", "root", "", "db_phppot_examples");
$i = 0;
$query = "SELECT id, name, type FROM tbl_php_array_to_csv";
if ($resultArray = $mysqli->query($query)) {
while ($record = $resultArray->fetch_array()) {
$animalArray[$i]['id'] = $record['id'];
$animalArray[$i]['name'] = $record['name'];
$animalArray[$i]['type'] = $record['type'];
$i++;
}
}
$fileOut = fopen("php://output", 'w') or die("Unable open php://output");
// Header forces the CSV file to download
header("Content-Type:application/csv");
header("Content-Disposition:attachment;filename=example-csv.csv");
// writing the first CSV record as the column labels
// Refer: https://www.php.net/manual/en/function.fputcsv.php
fputcsv($fileOut, array('id', 'name', 'type'));
// writing array elements as CSV file records one by one
foreach ($animalArray as $animal) {
fputcsv($fileOut, $animal);
}
fclose($fileOut) or die("Unable to close php://output");
?>
skrip basis data
Skrip database ini mengimpor struktur tabel dan data untuk menjalankan contoh ini.
Anda juga dapat mencoba kode ini dengan tabel database yang berbeda. Hanya membutuhkan sedikit perubahan kode untuk mengedit nama kolom tabel baru.
--
-- Database: `db_phppot_examples`
--
-- --------------------------------------------------------
--
-- Table structure for table `tbl_php_array_to_csv`
--
CREATE TABLE `tbl_php_array_to_csv` (
`id` int NOT NULL,
`name` varchar(255) NOT NULL,
`type` varchar(255) NOT NULL
);
--
-- Dumping data for table `tbl_php_array_to_csv`
--
INSERT INTO `tbl_php_array_to_csv` (`id`, `name`, `type`) VALUES
(1, 'Lion', 'Wild'),
(3, 'Dog', 'Domestic'),
(4, 'Tiger', 'Wild');
--
-- Indexes for dumped tables
--
--
-- Indexes for table `tbl_php_array_to_csv`
--
ALTER TABLE `tbl_php_array_to_csv`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `tbl_php_array_to_csv`
--
ALTER TABLE `tbl_php_array_to_csv`
MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;
Penggunaan array PHP ke konversi CSV
(1) Ekspor tabel basis data
Kita dapat menggunakan basis data ekspor kode ini ke file CSV. Ini untuk mengambil cadangan tabel database.
Jika Anda ingin membuat program PHP untuk membuat backup database lengkap menjadi excel, artikel tertaut memiliki kodenya.
(2) Memformat data menjadi nilai yang dipisahkan koma
Ini membantu untuk mengonversi berbagai sumber data dan membuat bisu dalam format CSV terpadu.
Jika memuat lebih banyak data dari array ke CSV yang ada, kode ini akan sangat membantu.
Unduh
↑ Kembali ke Atas
Source link