Rumah >pembangunan bahagian belakang >tutorial php >Cara mengimport dan mengeksport data menggunakan fungsi PHP
PHP ialah bahasa pengaturcaraan yang popular kerana ia sesuai untuk mencipta aplikasi web. Dalam PHP, fungsi boleh digunakan untuk melaksanakan tugas tertentu seperti pengiraan, pengesahan data dan mengimport dan mengeksport data. Artikel ini akan membincangkan cara menggunakan fungsi PHP untuk mengimport dan mengeksport data.
1. Import data
Sebelum mengimport data, anda mesti membuat borang muat naik fail yang membolehkan pengguna memilih fail untuk diimport. Jenis fail boleh menjadi CSV, Excel atau fail teks, dsb. PHP menyediakan satu set fungsi untuk memproses dan mengimport fail ini.
Membaca fail CSV sangat mudah dengan PHP. Kita boleh menggunakan fungsi fgetcsv() untuk membaca fail dan menyimpannya dalam tatasusunan. Fail CSV boleh dibaca menggunakan kod berikut:
$file = fopen('data.csv', 'r'); while (!feof($file)) { $data[] = fgetcsv($file); } fclose($file);
Ini akan membuka fail yang dipanggil data.csv dan menyimpan semua baris dalam fail dalam tatasusunan $data. Jika terdapat baris pengepala dalam fail, anda boleh mengalih keluarnya dan menyimpannya dalam pembolehubah lain menggunakan fungsi array_shift() seperti ini:
$header = array_shift($data);
Anda boleh menggunakan perpustakaan PHPExcel PHP untuk membaca fail Excel. Pustaka ini sangat berkuasa dan boleh membaca dan menulis fail Excel dalam pelbagai format. Berikut ialah contoh kod untuk membaca fail Excel menggunakan pustaka PHPExcel:
require_once 'PHPExcel/Classes/PHPExcel/IOFactory.php'; $file = 'data.xlsx'; $reader = PHPExcel_IOFactory::createReaderForFile($file); $reader->setReadDataOnly(true); $excel = $reader->load($file); $data = $excel->getActiveSheet()->toArray(null, true, true, true);
Ini akan membuka fail Excel bernama data.xlsx dan menyimpan semua barisnya dalam tatasusunan $data. Jika terdapat nota dalam fail, ia akan disertakan dalam lajur terakhir dalam tatasusunan.
Jika anda ingin membaca fail teks, anda boleh menggunakan fungsi fail() atau file_get_contents() PHP. Fungsi fail() membaca fail teks ke dalam tatasusunan, dengan setiap elemen tatasusunan mengandungi baris daripada fail. Sebaliknya, fungsi file_get_contents() membaca keseluruhan fail ke dalam rentetan. Berikut ialah kod contoh untuk membaca fail teks menggunakan fungsi file():
$data = file('data.txt');
Ini akan membuka fail teks bernama data.txt dan menyimpan semua barisnya dalam tatasusunan $data.
2. Eksport data
Mengeksport data lebih mudah daripada mengimport data. Hanya ambil semula data daripada pangkalan data atau sumber data lain dan tulis pada fail. PHP menyediakan satu siri fungsi untuk menyelesaikan tugas ini dengan mudah.
Untuk mengeksport ke fail CSV, anda mesti mencipta fail CSV dahulu dan menulis data ke dalamnya. Kod contoh berikut akan mendapatkan semula data daripada pangkalan data dan menulisnya ke fail CSV:
$data = array( array('Name', 'Email', 'Phone'), array('John Doe', 'john@example.com', '123-456-7890'), array('Jane Doe', 'jane@example.com', '456-789-0123') ); $file = fopen('data.csv', 'w'); foreach ($data as $row) { fputcsv($file, $row); } fclose($file);
Ini akan mencipta fail CSV bernama data.csv dan menulis data ke dalamnya.
Menggunakan perpustakaan PHPExcel, data boleh dieksport ke fail Excel dengan mudah. Berikut ialah contoh kod untuk mendapatkan semula data daripada pangkalan data dan menulisnya ke fail Excel:
require_once 'PHPExcel/Classes/PHPExcel.php'; $data = array( array('Name', 'Email', 'Phone'), array('John Doe', 'john@example.com', '123-456-7890'), array('Jane Doe', 'jane@example.com', '456-789-0123') ); // Create new PHPExcel object $excel = new PHPExcel(); $sheet = $excel->getActiveSheet(); $sheet->fromArray($data); // Set column widths foreach(range('A', $sheet->getHighestDataColumn()) as $col) { $sheet->getColumnDimension($col)->setAutoSize(true); } // Write file $writer = PHPExcel_IOFactory::createWriter($excel, 'Excel5'); $writer->save('data.xls');
Ini akan mencipta fail Excel bernama data.xls dan menulis data ke dalamnya.
Akhir sekali, untuk mengeksport data anda ke fail teks, tulis sahaja pada fail. Kod contoh berikut akan mendapatkan semula data daripada pangkalan data dan menulisnya ke fail teks:
$data = array( array('Name', 'Email', 'Phone'), array('John Doe', 'john@example.com', '123-456-7890'), array('Jane Doe', 'jane@example.com', '456-789-0123') ); $file = fopen('data.txt', 'w'); foreach ($data as $row) { fwrite($file, implode(" ", $row) . " "); } fclose($file);
Ini akan mencipta fail teks bernama data.txt dan menulis data ke dalamnya.
Ringkasan
Artikel ini membincangkan cara menggunakan fungsi PHP untuk mengimport dan mengeksport data. Memahami cara menggunakan fungsi ini boleh membantu anda mengurus data anda dengan lebih mudah dan menjadi lebih produktif. Membaca data daripada CSV, Excel atau fail teks dan mengeksportnya ke format ini juga sangat mudah.
Atas ialah kandungan terperinci Cara mengimport dan mengeksport data menggunakan fungsi PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!