PHP - Mengendalikan Fail CSV

Hai sana, para ahli PHP masa depan! Hari ini, kita akan melangkah ke dalam dunia fail CSV dan bagaimana mengendalikannya menggunakan PHP. Sebagai guru komputer tetangga yang ramah, saya berjanji untuk menjadikan petualangan ini sebanyak mungkin menyenangkan dan menarik. Jadi, pegang keyboardmu (tongkat sihirmu), dan mari kita masuk ke dalamnya!

PHP - Handle CSV File

Apa Itu Fail CSV?

Sebelum kita mulakan mengoding, mari kita faham apa yang kita hadapi. CSV adalah singkatan untuk "Comma-Separated Values." Ia adalah format fail yang ringan digunakan untuk menyimpan data tabular, seperti spreadsheet atau database. Setiap baris di dalam fail mewakili satu baris di dalam jadual, dan nilai di setiap baris dipisahkan oleh koma.

Sebagai contoh, fail CSV mungkin kelihatan seperti ini:

Name,Age,City
John Doe,30,New York
Jane Smith,25,London
Bob Johnson,40,Paris

Sekarang kita tahu apa fail CSV, mari kita belajar bagaimana bekerja dengannya dalam PHP!

Fungsi fgetcsv()

Fungsi pertama ajaib kita untuk mengendalikan fail CSV adalah fgetcsv(). Fungsi ini membaca satu baris dari fail dan menguraikannya kepada array menggunakan penpisah yang ditentukan (biasanya koma).

Penggunaan Asas

Berikut adalah contoh ringkas bagaimana mengguna fgetcsv():

<?php
$file = fopen("data.csv", "r");

while (($data = fgetcsv($file)) !== FALSE) {
print_r($data);
}

fclose($file);
?>

mari kitaongkai ini:

  1. Kita buka fail "data.csv" dalam mod baca menggunakan fopen().
  2. Kita gunakan perulangan while untuk membaca fail baris demi baris.
  3. fgetcsv($file) membaca satu baris dan menukarannya kepada array.
  4. Kita cetak setiap array menggunakan print_r().
  5. Akhirnya, kita tutup fail dengan fclose().

Penggunaan Lanjut

Sekarang, mari kita rancakkan hal ini sedikit! Apa bila fail CSV kita menggunakan penpisah lain, seperti titik koma? Tidak masalah! fgetcsv() menjadikan ini mudah:

<?php
$file = fopen("data.csv", "r");

while (($data = fgetcsv($file, 1000, ";")) !== FALSE) {
echo "Name: " . $data[0] . ", Age: " . $data[1] . ", City: " . $data[2] . "<br>";
}

fclose($file);
?>

Dalam contoh ini, kita menambahkan dua parameter lagi ke fgetcsv():

  • Parameter kedua (1000) adalah panjang baris maksimum untuk dibaca.
  • Parameter ketiga (";") menentukan penpisah.

Kami juga memformat output kita untuk menjadikannya lebih mudah dibaca. Bukan itu menarik?

Fungsi fputcsv()

Sekarang kita telah mengetahui bagaimana membaca fail CSV, mari kita belajar bagaimana membuatnya! Masuk fputcsv(), sihir kita untuk menulis fail CSV.

Penggunaan Asas

Berikut adalah contoh ringkas:

<?php
$data = array(
array('Name', 'Age', 'City'),
array('John Doe', '30', 'New York'),
array('Jane Smith', '25', 'London'),
array('Bob Johnson', '40', 'Paris')
);

$file = fopen('new_data.csv', 'w');

foreach ($data as $row) {
fputcsv($file, $row);
}

fclose($file);

echo "Fail CSV diciptakan berjaya!";
?>

mari kitaongkai ini:

  1. Kita cipta array dari array, di mana setiap array dalaman mewakili satu baris di dalam CSV.
  2. Kita buka fail baru 'new_data.csv' dalam mod tulis.
  3. Kita pergi melalui array data kita dan gunakan fputcsv() untuk menulis setiap baris ke fail.
  4. Kita tutup fail dan cetak mesej kejayaan.

Penggunaan Lanjut

Mari kita menambahkan beberapa pilihan ke fungsi fputcsv() kita:

<?php
$data = array(
array('Name', 'Favorite Quote'),
array('Shakespeare', 'To be, or not to be'),
array('Einstein', 'Imagination is more important than knowledge')
);

$file = fopen('quotes.csv', 'w');

foreach ($data as $row) {
fputcsv($file, $row, '|', '"', '\\');
}

fclose($file);

echo "Fail Quotes CSV diciptakan berjaya!";
?>

Dalam contoh ini, kita menggunakan parameter tambahan fputcsv():

  • Parameter ketiga ('|') menetapkan penpisah ke pipe.
  • Parameter keempat ('"') menetapkan aksara penutup.
  • Parameter kelima ('\') menetapkan aksara pelarian.

Ini berguna apabila data anda mungkin mengandungi koma atau aksara khas lain.

Menggabungkan Segalanya

Sekarang, mari kita gabungkan keterampilan membaca dan menulis kita untuk mencipta pengubah fail CSV!

<?php
// Baca dari CSV terpisah oleh titik koma
$input_file = fopen("input.csv", "r");
$output_file = fopen("output.csv", "w");

while (($data = fgetcsv($input_file, 1000, ";")) !== FALSE) {
// Tulis ke CSV terpisah oleh koma
fputcsv($output_file, $data);
}

fclose($input_file);
fclose($output_file);

echo "Fail CSV ditukar berjaya!";
?>

Skrip ini membaca fail CSV terpisah oleh titik koma dan menulis kandungannya ke fail CSV baru terpisah oleh koma. Ia seperti sihir, kan?

Kesimpulan

Tahniah, para ahli PHP muda! Anda baru saja belajar dasar pengendalian fail CSV dalam PHP. Ingat, latihan menjadikan orang hebat, jadi jangan takut untuk bereksperimen dengan fungsi-fungsi ini. Siapa tahu? Anda mungkin menjadi ahli CSV yang paling hebat!

Berikut adalah jadual ringkasan metode yang kita pelajari:

Fungsi Tujuan Sintaks Asas
fgetcsv() Baca fail CSV fgetcsv($file, $length, $delimiter, $enclosure, $escape)
fputcsv() Tulis fail CSV fputcsv($file, $fields, $delimiter, $enclosure, $escape)

Berkodingan yang gembira, dan sila pastikan fail CSV anda selalu diformat dengan baik!

Credits: Image by storyset